# KroneckerProduct

KroneckerProduct[m1,m2,]

constructs the Kronecker product of the arrays mi.

# 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(4)

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

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:

Define a 2l×2l "butterfly" matrix:

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 direct matrix product:

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

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:

We now have MatrixExp[ab]=MatrixExp[a]MatrixExp[b]:

## Properties & Relations(8)

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

Associative (flat) :

Non-commutative :

KroneckerProduct satisfies the mixed product property :

Transpose distributes over it :

ConjugateTranspose distributes over it :

Inverse distributes over it (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 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:

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.

#### BibTeX

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

#### BibLaTeX

@online{reference.wolfram_2021_kroneckerproduct, organization={Wolfram Research}, title={KroneckerProduct}, year={2007}, url={https://reference.wolfram.com/language/ref/KroneckerProduct.html}, note=[Accessed: 21-June-2021 ]}

#### 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