Math July 19, 2026 · 11 min read

Tensor Product (Kronecker Product) of Matrices: A Complete Guide

Learn how to compute the tensor (Kronecker) product of matrices. Understand the block structure, properties, and applications in quantum mechanics, signal processing, and solving matrix equations.

The tensor product, also known as the Kronecker product, is a fundamental operation in linear algebra that combines two matrices to produce a larger block matrix. Given an m × n matrix A and a p × q matrix B, their Kronecker product A ⊗ B is an (mp) × (nq) matrix formed by multiplying every element of A by the entire matrix B. This operation is essential in quantum mechanics (combining quantum states), signal processing (modeling multi-channel systems), and solving matrix equations of the form AXB = C.

Despite its simple definition, the Kronecker product has rich algebraic properties that make it a powerful tool for analyzing and solving complex problems. Understanding how to compute and apply the tensor product opens the door to advanced topics in multilinear algebra, tensor networks, and quantum computing.

Key Takeaway

The Kronecker product A ⊗ B creates a block matrix where each element aᵢⱼ of A is multiplied by the entire matrix B, producing a block aᵢⱼB. The result is an (mp) × (nq) matrix when A is m × n and B is p × q. The Kronecker product is not commutative (A ⊗ B ≠ B ⊗ A in general), but it is bilinear and associative. Key properties include (A ⊗ B)(C ⊗ D) = AC ⊗ BD and the eigenvalues of A ⊗ B being products of eigenvalues of A and B.

What Is the Kronecker Product?

The Kronecker product of two matrices A (m × n) and B (p × q) is defined as an (mp) × (nq) block matrix where each block is a scalar multiple of B. Specifically, the element in block position (i,j) of the result is aᵢⱼ × B, where aᵢⱼ is the element in row i and column j of A. This creates a structured block matrix where the overall pattern follows A's structure, but each "pixel" is replaced by a scaled copy of B.

A ⊗ B = [ a₁₁B a₁₂B ... a₁ₙB ]
         [ a₂₁B a₂₂B ... a₂ₙB ]
         [ ...    ...    ... ...   ]
         [ aₘ₁B aₘ₂B ... aₘₙB ]

Result size: (m × p) rows × (n × q) columns

Block Structure

The block structure of the Kronecker product is its defining feature. For a 2×2 matrix A and a 2×2 matrix B, the result is a 4×4 matrix organized as four 2×2 blocks. Each block is a scalar multiple of B, and the arrangement of blocks mirrors the structure of A. This hierarchical structure is why the Kronecker product is so useful in modeling nested systems — the outer structure (from A) and inner structure (from B) combine naturally.

Notation Differences

The terms "tensor product" and "Kronecker product" are often used interchangeably in the context of finite-dimensional matrices, though they refer to different concepts in more general settings. The Kronecker product is a specific matrix representation of the abstract tensor product of vector spaces. In physics and quantum mechanics, the symbol ⊗ is universally used for the tensor product. In matrix algebra and numerical computation, the term "Kronecker product" is more common. The notation A ⊗ B is standard in both contexts.

How to Compute the Kronecker Product

Computing the Kronecker product is straightforward: for each element of A, multiply that scalar by the entire matrix B, and place the result in the corresponding block position. Let us work through a complete example with two 2×2 matrices.

A = [ 1 2 ]     B = [ 5 6 ]
    [ 3 4 ]          [ 7 8 ]

A ⊗ B = [ 1·B   2·B ] = [ 5   6 | 10 12 ]
         [ 3·B   4·B ]  [ 7   8 | 14 16 ]
                      [ 15 18 | 20 24 ]
                      [ 21 24 | 28 32 ]

The result is a 4×4 matrix. Notice the block structure: the top-left 2×2 block is 1 × B = [[5, 6], [7, 8]], the top-right block is 2 × B = [[10, 12], [14, 16]], the bottom-left block is 3 × B = [[15, 18], [21, 24]], and the bottom-right block is 4 × B = [[20, 24], [28, 32]]. Each block is a scaled copy of B, and the scaling factors follow the pattern of A.

Block PositionScaling Factor (from A)Block Content
Top-left (1,1)a₁₁ = 1[[5, 6], [7, 8]]
Top-right (1,2)a₁₂ = 2[[10, 12], [14, 16]]
Bottom-left (2,1)a₂₁ = 3[[15, 18], [21, 24]]
Bottom-right (2,2)a₂₂ = 4[[20, 24], [28, 32]]

For non-square matrices, the same principle applies. If A is 2 × 3 and B is 3 × 2, the result is 6 × 6. Each of the six blocks is a 3 × 2 matrix, arranged in a 2 × 3 grid of blocks. The total number of rows is 2 × 3 = 6 and the total number of columns is 3 × 2 = 6. Always verify the dimensions: (m × n) ⊗ (p × q) produces (mp) × (nq).

Properties

The Kronecker product satisfies several important algebraic properties that make it a well-behaved operation for matrix algebra. These properties parallel those of regular matrix multiplication in many ways, but with important differences — particularly the lack of commutativity.

Bilinearity:
(αA + βB) ⊗ C = α(A ⊗ C) + β(B ⊗ C)
A ⊗ (αB + βC) = α(A ⊗ B) + β(A ⊗ C)

Associativity:
(A ⊗ B) ⊗ C = A ⊗ (B ⊗ C)

Transpose:
(A ⊗ B)T = AT ⊗ BT

Mixed-product property:
(A ⊗ B)(C ⊗ D) = (AC) ⊗ (BD)
  • Bilinearity: The Kronecker product is linear in both arguments. Scaling either input scales the output by the same factor, and addition distributes over the product.
  • Associativity: (A ⊗ B) ⊗ C = A ⊗ (B ⊗ C). Grouping does not matter, so you can chain multiple Kronecker products without ambiguity.
  • Transpose: (A ⊗ B)T = AT ⊗ BT. The transpose of a Kronecker product is the Kronecker product of the transposes.
  • Mixed-product property: (A ⊗ B)(C ⊗ D) = (AC) ⊗ (BD), provided the matrix multiplications are conformable. This property is the foundation for efficient computation of Kronecker product expressions.
  • Eigenvalues: If λᵢ are eigenvalues of A and μⱼ are eigenvalues of B, then the eigenvalues of A ⊗ B are all products λᵢμⱼ.
  • Determinant: det(A ⊗ B) = det(A)ⁿ × det(B)ᵐ, where A is m × n (for square matrices, n = m).
  • Trace: tr(A ⊗ B) = tr(A) × tr(B).

One critical property to remember is that the Kronecker product is not commutative. In general, A ⊗ B ≠ B ⊗ A. The result matrices have different dimensions (unless both are square of the same size) and even when dimensions match, the block arrangements differ. This asymmetry is a key distinction from the Hadamard (element-wise) product, which is commutative.

Applications

Quantum Mechanics

In quantum mechanics, the tensor product combines the state spaces of individual quantum systems into a composite system. If system A has state space ℋₐ and system B has state space ℋ_b, the combined system has state space ℋₐ ⊗ ℋ_b. Two-qubit states, entanglement, and quantum gates are all described using tensor products. The Bell states, for example, are specific tensor product combinations that exhibit quantum entanglement — a correlation with no classical analogue.

Signal Processing

In MIMO (Multiple-Input Multiple-Output) communication systems, the Kronecker product models the channel matrix as a combination of transmit and receive correlation matrices. The Kronecker structure allows efficient channel modeling and reduces the number of parameters needed to describe the channel. Beamforming and spatial multiplexing algorithms exploit this structure for optimal signal processing.

Solving Matrix Equations

The Kronecker product provides an elegant way to solve matrix equations of the form AXB = C. Using the vec operator (which stacks columns of a matrix into a vector), this equation becomes (BT ⊗ A)vec(X) = vec(C). This transforms the matrix equation into a standard linear system that can be solved using any method for linear systems. The Kronecker structure exploits the original matrix dimensions for computational efficiency.

AXB = C
⟹ (BT ⊗ A)vec(X) = vec(C)

Solve the linear system for vec(X),
then reshape the solution back to matrix form.

Image Processing

Kronecker products appear in image compression and transformation algorithms. Separable 2D transforms (like the 2D DCT used in JPEG compression) can be expressed as Kronecker products of 1D transforms. This factorization reduces computational complexity from O(n⁴) to O(n³) by exploiting the Kronecker structure. Similarly, Kronecker-structured covariance matrices in Gaussian process models enable efficient inference for image data.

Finite Element Methods

In computational mechanics, Kronecker products arise in the assembly of stiffness matrices for tensor-product finite elements. When the domain is a tensor product of 1D intervals (like a rectangle subdivided into quadrilaterals), the 2D stiffness matrix is a Kronecker product of 1D stiffness matrices. This structure enables fast solvers using Kronecker product eigenvalue decompositions and dramatically reduces memory requirements for large-scale simulations.

Common Mistakes

  • Confusing with element-wise (Hadamard) product: The Kronecker product A ⊗ B creates a larger matrix through block replication, while the Hadamard product A ∘ B requires identical dimensions and multiplies element-by-element. These are fundamentally different operations.
  • Wrong ordering: The Kronecker product is not commutative: A ⊗ B ≠ B ⊗ A in general. The result has different dimensions and block arrangements. Always verify which matrix is the "outer" structure (A) and which is the "inner" structure (B).
  • Dimension confusion: Forgetting to compute the correct output dimensions. An (m × n) matrix Kronecker-producted with a (p × q) matrix produces an (mp × nq) matrix. Miscalculating dimensions leads to incorrect block arrangements.
  • Scalar multiplication errors: When computing each block aᵢⱼB, ensure every element of B is multiplied by the scalar aᵢⱼ, not just the corresponding element. This is a common error when computing by hand.
  • Assuming associativity with matrix multiplication: While (A ⊗ B)(C ⊗ D) = AC ⊗ BD holds, this does not mean A ⊗ BC = AB ⊗ C. The mixed-product property requires both operands to be Kronecker products in the same positions.

FAQs

What is the Kronecker product? The Kronecker product of two matrices A and B is a block matrix where each element aᵢⱼ of A is multiplied by the entire matrix B. It produces a larger matrix of size (mp × nq) when A is m × n and B is p × q.

Is the Kronecker product commutative? No. A ⊗ B ≠ B ⊗ A in general. The two results have different dimensions (unless both matrices are square and of the same size) and different block arrangements. This is unlike the Hadamard product, which is commutative.

What are the dimensions of the Kronecker product? If A is m × n and B is p × q, then A ⊗ B is (mp) × (nq). The number of rows is m × p and the number of columns is n × q.

How does the Kronecker product relate to the tensor product? The Kronecker product is a concrete matrix representation of the abstract tensor product of vector spaces. In finite-dimensional settings, they are essentially the same operation. The term "tensor product" is more common in physics, while "Kronecker product" is more common in matrix algebra.

What is the mixed-product property? The mixed-product property states that (A ⊗ B)(C ⊗ D) = (AC) ⊗ (BD), provided the matrix multiplications AC and BD are conformable. This property enables efficient computation of expressions involving products of Kronecker products.

Conclusion

The Kronecker product is a powerful operation that combines two matrices into a structured block matrix with rich algebraic properties. From quantum mechanics to signal processing, from solving matrix equations to finite element analysis, the tensor product provides elegant solutions to problems involving nested or multi-scale systems. Understanding its block structure, non-commutativity, and the mixed-product property is essential for applying it correctly.

Ready to compute the Kronecker product of your matrices? Use our Tensor Product Calculator for instant results with full block structure visualization. Explore related tools for Matrix Multiplication, Hadamard Product, and Matrix Determinant to deepen your understanding of matrix operations.