kron
Kronecker tensor product
Syntax
K = kron(A,B)
Description
K = kron(
returns theKronecker tensor product矩阵的A,B
)A
andB
. IfA
is anm
-by-n
matrix andB
is ap
-by-q
matrix, thenkron(A,B)
is anm*p
-by-n*q
matrix formed by taking all possible products between the elements ofA
and the matrixB
.
Examples
Block Diagonal Matrix
Create a block diagonal matrix.
Create a 4-by-4 identity matrix and a 2-by-2 matrix that you want to be repeated along the diagonal.
A = eye(4); B = [1 -1;-1 1];
Usekron
to find the Kronecker tensor product.
K = kron(A,B)
K =1 -1 0 0 0 0 0 0 -1 1 0 0 0 0 0 0 0 0 1 -1 0 0 0 0 0 0 -1 1 0 0 0 0 0 0 0 0 1 -1 0 0 0 0 0 0 -1 1 0 0 0 0 0 0 0 0 1 -1 0 0 0 0 0 0 -1 1
The result is an 8-by-8 block diagonal matrix.
Repeat Matrix Elements
Expand the size of a matrix by repeating elements.
Create a 2-by-2 matrix of ones and a 2-by-3 matrix whose elements you want to repeat.
A = [1 2 3; 4 5 6]; B = ones(2);
Calculate the Kronecker tensor product usingkron
.
K = kron(A,B)
K =1 1 2 2 3 3 1 1 2 2 3 3 4 4 5 5 6 6 4 4 5 5 6 6
The result is a 4-by-6 block matrix.
Sparse Laplacian Operator Matrix
This example visualizes a sparse Laplacian operator matrix.
The matrix representation of the discrete Laplacian operator on a two-dimensional,n
-by-n
grid is an*n
-by-n*n
sparse matrix. There are at most five nonzero elements in each row or column. You can generate the matrix as the Kronecker product of one-dimensional difference operators. In this examplen = 5
.
n = 5; I = speye(n,n); E = sparse(2:n,1:n-1,1,n,n); D = E+E'-2*I; A = kron(D,I)+kron(I,D);
Visualize the sparsity pattern withspy
.
spy(A,'k')
Input Arguments
A,B
—Input matrices
scalars|vectors|matrices
Input matrices, specified as scalars, vectors, or matrices. If eitherA
orB
is sparse, thenkron
multiplies only nonzero elements and the result is also sparse.
Data Types:single
|double
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|logical
Complex Number Support:Yes
More About
Kronecker Tensor Product
IfA
is anm
-by-n
matrix andB
is ap
-by-q
matrix, then the Kronecker tensor product ofA
andB
is a large matrix formed by multiplyingB
by each element ofA
For example, two simple 2-by-2 matrices produce
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Introduced before R2006a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select:.
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina(Español)
- Canada(English)
- United States(English)
Europe
- Belgium(English)
- Denmark(English)
- Deutschland(Deutsch)
- España(Español)
- Finland(English)
- France(Français)
- Ireland(English)
- Italia(Italiano)
- Luxembourg(English)
- Netherlands(English)
- Norway(English)
- Österreich(Deutsch)
- Portugal(English)
- Sweden(English)
- Switzerland
- United Kingdom(English)