Skip to main content
`Ctrl`+`K`
scipy.sparse.

# kron

scipy.sparse.kron(A, B, format=None)

  Sparse representation of the Kronecker product of A and B.

  Computes the Kronecker product, a composite sparse array made of blocks consisting of the second input array multiplied by each element of the first input array.

  Warning

  `kron` is switching to the sparse array interface.

  For the case where no input arrays are sparse, this function is switching to returning a sparse array instead of sparse matrix. Control the sparse return class by making at least one input sparse, e.g., `kron(coo_matrix(A), B)`, or `kron(coo_array(A), B)`. That removes any deprecation warnings as well. For more general information about sparrays, see Migration from spmatrix to sparray. Handling of this no sparse input case will change no earlier than v1.20.

  Parameters:
    A sparse or dense array

      first array of the product

    B sparse or dense array

      second array of the product

    format str, optional (default: ‘bsr’ or ‘coo’)

      format of the result (e.g. “csr”) If None, choose ‘bsr’ for relatively dense 2D arrays and ‘coo’ for others

  Returns:
    sparse matrix or array

      kronecker product in a sparse format. Returns a sparse matrix unless either A or B is a sparse array in which case returns a sparse array.

  Examples

      >>> import numpy as np
      >>> import scipy as sp
      >>> A = sp.sparse.csr_array(np.array([[0, 2], [5, 0]]))
      >>> B = sp.sparse.csr_array(np.array([[1, 2], [3, 4]]))
      >>> sp.sparse.kron(A, B).toarray()
      array([[ 0,  0,  2,  4],
             [ 0,  0,  6,  8],
             [ 5, 10,  0,  0],
             [15, 20,  0,  0]])

      >>> sp.sparse.kron(A, [[1, 2], [3, 4]]).toarray()
      array([[ 0,  0,  2,  4],
             [ 0,  0,  6,  8],
             [ 5, 10,  0,  0],
             [15, 20,  0,  0]])