scipy.sparse.

kron#

scipy.sparse.kron(A, B, format=None)[source]#

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.

Parameters:
Asparse or dense array

first array of the product

Bsparse or dense array

second array of the product

formatstr, 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]])