KroneckerProduct

KroneckerProduct[m1,m2,]

constructs the Kronecker product of the arrays mi.

Details

Examples

open allclose all

Basic Examples  (2)

Kronecker product of vectors:

Kronecker product of matrices:

Scope  (2)

a and b are matrices with exact entries:

Use exact arithmetic to compute the Kronecker product:

Use machine arithmetic:

Use 20-digit precision arithmetic:

s and t are sparse matrices:

Compute the sparse Kronecker product:

Applications  (5)

Solve the general linear matrix equation a1.x.b1++am.x.bm=c for matrix x by using the flattening (vectorizing) relation Flatten[a.x.b]=(ab).Flatten[x]:

Define the vec-permutation matrix, also called the commutation matrix:

Visualize the vec-permutation matrix:

The vec-permutation matrix can be expressed as a sum of Kronecker products of an identity matrix with unit vectors:

Generate two symbolic matrices:

The vec-permutation matrix can be used to express the relationship between the Kronecker product of two given matrices and the Kronecker product of the same matrices in reverse order:

s is a differentiation matrix approximating the second derivative in 1 dimension:

The identity matrix as a sparse array:

A two-dimensional array of values:

A matrix that differentiates in the first dimension only:

A matrix that approximates the Laplacian (the Kronecker sum of the differentiation matrix with itself):

Define the n×n "butterfly" matrix for even n:

Define the n×n "bit reversal" permutation matrix for n a power of 2:

A compact notation for the identity matrix of size n:

A compact notation for the Kronecker product:

Form the discrete Fourier transform matrix for length 16 from the CooleyTukey factorization:

This is equivalent to the result of FourierMatrix:

r is a random vector of length 16:

The discrete Fourier transform of r:

Fourier is fast because it effectively composes the factorization for a particular vector:

Define the Kronecker sum :

Try it on general symbolic matrices:

Verify the identity MatrixExp[ab]=MatrixExp[a]MatrixExp[b]:

Verify the identity Eigenvalues[ab]={λi+μj|λiEigenvalues[a],μjEigenvalues[b]:

Properties & Relations  (11)

KroneckerProduct is multi-linear (linear in each argument) :

Associative (flat) :

Non-commutative :

KroneckerProduct satisfies the mixed product property :

Transpose distributes over it TemplateBox[{{(, {a, , b}, )}}, Transpose]=TemplateBox[{a}, Transpose]TemplateBox[{b}, Transpose]:

ConjugateTranspose distributes over it TemplateBox[{{(, {a, , b}, )}}, ConjugateTranspose]=TemplateBox[{a}, ConjugateTranspose]TemplateBox[{b}, ConjugateTranspose]:

Inverse distributes over it TemplateBox[{{(, {a, , b}, )}}, Inverse]=TemplateBox[{a}, Inverse]TemplateBox[{b}, Inverse] (iff and are invertible):

PseudoInverse distributes over it PseudoInverse[ab]=PseudoInverse[a]PseudoInverse[b]:

The trace Tr for a Kronecker product satisfies Tr[ab]=Tr[a]Tr[b]:

The determinant Det satisfies TemplateBox[{{a, , b}}, Det]=TemplateBox[{a}, Det]^n TemplateBox[{b}, Det]^m where aMatrices[{m,m}] and bMatrices[{n,n}]:

Eigenvalues satisfies Eigenvalues[ab]={λiμj|λiEigenvalues[a],μjEigenvalues[b]:

SingularValueList satisfies the same relation:

MatrixRank satisfies MatrixRank[ab=MatrixRank[a]MatrixRank[b]:

KroneckerProduct for matrices is a flattened block matrix with blocks :

KroneckerProduct of vectors is related to Dot of the corresponding column matrices:

The dot product of a column and row matrix is usually also called an outer product:

KroneckerProduct of vectors is equivalent to TensorProduct:

For matrices it is a flattened tensor product:

KroneckerProduct of vectors is a special case of Outer:

For matrices it is a flattened outer product:

The Kronecker product of a diagonal matrix and a general matrix is block diagonal:

The Kronecker product of a lower triangular matrix and a general matrix is block lower triangular:

The Kronecker product of an upper triangular matrix and a general matrix is block upper triangular:

Wolfram Research (2007), KroneckerProduct, Wolfram Language function, https://reference.wolfram.com/language/ref/KroneckerProduct.html.

Text

Wolfram Research (2007), KroneckerProduct, Wolfram Language function, https://reference.wolfram.com/language/ref/KroneckerProduct.html.

CMS

Wolfram Language. 2007. "KroneckerProduct." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/KroneckerProduct.html.

APA

Wolfram Language. (2007). KroneckerProduct. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/KroneckerProduct.html

BibTeX

@misc{reference.wolfram_2023_kroneckerproduct, author="Wolfram Research", title="{KroneckerProduct}", year="2007", howpublished="\url{https://reference.wolfram.com/language/ref/KroneckerProduct.html}", note=[Accessed: 19-March-2024 ]}

BibLaTeX

@online{reference.wolfram_2023_kroneckerproduct, organization={Wolfram Research}, title={KroneckerProduct}, year={2007}, url={https://reference.wolfram.com/language/ref/KroneckerProduct.html}, note=[Accessed: 19-March-2024 ]}