Mathematica 9 is now available
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.
Mathematica > Mathematics and Algorithms > Matrices and Linear Algebra > Matrix Operations >

KroneckerProduct

KroneckerProduct[m1, m2, ...]
constructs the Kronecker product of the arrays mi.
  • KroneckerProduct works on vectors, matrices or in general full arrays of any depth.
Kronecker product of vectors:
Matrix direct product:
Kronecker product of vectors:
In[1]:=
Click for copyable input
Out[1]=
 
Matrix direct product:
In[1]:=
Click for copyable input
Out[1]//MatrixForm=
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:
Solve the general linear matrix equation a_1.x.b_1+...+a_m.x.b_m=c for matrix x:
a and b are nonsingular matrices:
The Kronecker product is also nonsingular:
The inverse of the product can be computed from the simpler inverses of a and b:
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 Cooley-Tukey 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:
For vectors, KroneckerProduct is a special case of Outer:
If the vectors are formed into column and row matrices, KroneckerProduct is equivalent to a matrix product:
For matrices, KroneckerProduct is a flattening of a special case of Outer:
(aCircleTimesb).(cCircleTimesd)=(ac)CircleTimes(bd):
New in 6
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team