code: def _kronecker_dense(factors):
      """Convert a list of factors, into a dense Kronecker product."""
      product = factors[0]
      for factor in factors[1:]:
          product = product[
              ..., array_ops.newaxis, :, array_ops.newaxis
          ]
          factor_to_mul = factor[
              ..., array_ops.newaxis, :, array_ops.newaxis, :
          ]
          product *= factor_to_mul
          product = array_ops.reshape(
              product,
              shape=array_ops.concat(
                  [
                      array_ops.shape(product)[:-4],
                      [
                          array_ops.shape(product)[-4]
                          * array_ops.shape(product)[-3],
                          array_ops.shape(product)[-2]
                          * array_ops.shape(product)[-1],
                      ],
                  ],
                  axis=0,
              ),
          )
  
      return product
  
imports: import numpy
  from tensorflow.python.eager import backprop
  from tensorflow.python.framework import config
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.ops.linalg import linalg
  from tensorflow.python.ops.linalg import linear_operator_kronecker
  from tensorflow.python.ops.linalg import linear_operator_lower_triangular
  from tensorflow.python.ops.linalg import linear_operator_test_util
  from tensorflow.python.ops.linalg import linear_operator_util
  from tensorflow.python.platform import test
label_desc: Use image node_id 1 for calling a global function with example usage: _kronecker_dense(factors) and returns: product