tensorly.tenalg.kronecker

kronecker(matrices, skip_matrix=None, reverse=False)[source]

Kronecker product of a list of matrices

For more details, see [R20]
Parameters:

matrices : ndarray list

skip_matrix : None or int, optional, default is None

if not None, index of a matrix to skip

reverse : bool, optional

if True, the order of the matrices is reversed

Returns:

kronecker_product: matrix of shape (prod(n_rows), prod(n_columns)

where prod(n_rows) = prod([m.shape[0] for m in matrices]) and prod(n_columns) = prod([m.shape[1] for m in matrices])

Notes

Mathematically:

\text{If every matrix } U_k \text{ is of size } (I_k \times J_k),\\
\text{Then } \left(U_1 \otimes \cdots \otimes U_n \right) \text{ is of size } (\prod_{k=1}^n I_k \times \prod_{k=1}^n J_k)

References

[R20](1, 2) T.G.Kolda and B.W.Bader, “Tensor Decompositions and Applications”, SIAM REVIEW, vol. 51, n. 3, pp. 455-500, 2009.