Mathwords logoMathwords

Kronecker Product — Definition, Formula & Examples

The Kronecker product is an operation on two matrices that produces a larger block matrix by multiplying every element of the first matrix by the entire second matrix. If the first matrix is m×nm \times n and the second is p×qp \times q, the result is an mp×nqmp \times nq matrix.

Given matrices ARm×nA \in \mathbb{R}^{m \times n} and BRp×qB \in \mathbb{R}^{p \times q}, the Kronecker product ABA \otimes B is the mp×nqmp \times nq block matrix whose (i,j)(i,j)-th block is the p×qp \times q matrix aijBa_{ij}B, where aija_{ij} is the (i,j)(i,j)-th entry of AA.

Key Formula

AB=(a11Ba12Ba1nBa21Ba22Ba2nBam1Bam2BamnB)A \otimes B = \begin{pmatrix} a_{11}B & a_{12}B & \cdots & a_{1n}B \\ a_{21}B & a_{22}B & \cdots & a_{2n}B \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1}B & a_{m2}B & \cdots & a_{mn}B \end{pmatrix}
Where:
  • AA = An $m \times n$ matrix
  • BB = A $p \times q$ matrix
  • aija_{ij} = The entry in row $i$, column $j$ of $A$
  • \otimes = The Kronecker product operator

How It Works

To compute ABA \otimes B, replace each entry aija_{ij} in AA with the scaled matrix aijBa_{ij}B. Arrange these blocks in the same row-column layout as AA. The result is a single large matrix formed by concatenating all the blocks. Note that the Kronecker product is not commutative: in general ABBAA \otimes B \neq B \otimes A.

Worked Example

Problem: Compute the Kronecker product ABA \otimes B where A=(1234)A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} and B=(0567)B = \begin{pmatrix} 0 & 5 \\ 6 & 7 \end{pmatrix}.
Step 1: Multiply each entry of AA by the entire matrix BB to get four 2×22 \times 2 blocks.
1B=(0567),2B=(0101214),3B=(0151821),4B=(0202428)1 \cdot B = \begin{pmatrix} 0 & 5 \\ 6 & 7 \end{pmatrix}, \quad 2 \cdot B = \begin{pmatrix} 0 & 10 \\ 12 & 14 \end{pmatrix}, \quad 3 \cdot B = \begin{pmatrix} 0 & 15 \\ 18 & 21 \end{pmatrix}, \quad 4 \cdot B = \begin{pmatrix} 0 & 20 \\ 24 & 28 \end{pmatrix}
Step 2: Arrange the blocks in the same layout as AA: block (1,1)=1B(1,1)=1B, block (1,2)=2B(1,2)=2B, block (2,1)=3B(2,1)=3B, block (2,2)=4B(2,2)=4B.
AB=(0501067121401502018212428)A \otimes B = \begin{pmatrix} 0 & 5 & 0 & 10 \\ 6 & 7 & 12 & 14 \\ 0 & 15 & 0 & 20 \\ 18 & 21 & 24 & 28 \end{pmatrix}
Answer: AB=(0501067121401502018212428)A \otimes B = \begin{pmatrix} 0 & 5 & 0 & 10 \\ 6 & 7 & 12 & 14 \\ 0 & 15 & 0 & 20 \\ 18 & 21 & 24 & 28 \end{pmatrix}

Why It Matters

The Kronecker product appears frequently in quantum computing (tensor products of qubit states), signal processing, and multivariate statistics. It provides a compact way to represent operations on systems composed of independent subsystems, such as constructing covariance matrices for separable processes.

Common Mistakes

Mistake: Assuming the Kronecker product is commutative, i.e., that AB=BAA \otimes B = B \otimes A.
Correction: The Kronecker product is generally not commutative. Swapping the order changes the block structure and produces a different (though permutationally similar) matrix.