克罗内克积(Kronecker product)可以先把它理解成一种“把一个矩阵里的每个元素,都替换成另一个矩阵的放大版”的操作。

假设有两个矩阵:

$A\in \mathbb{R}^{m\times n},\quad B\in \mathbb{R}^{p\times q}$

那么它们的克罗内克积记作:

$A\otimes B$

结果会变成一个更大的矩阵,大小是:

$(mp)\times(nq)$

它的构造方式是:把矩阵 A 中的每个元素 $a_{ij}$,都替换成一个小块 $a_{ij}B$。所以整体长这样:

$A\otimes B=\begin{bmatrix}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{bmatrix}$

你可以把它想成:

A 是一个“骨架”,

B 是一个“模板”,

A 里的每个数决定把这个模板放大或缩小多少倍,然后按 A 的排布拼起来。

比如

$A=\begin{bmatrix}1&2\\3&4\end{bmatrix},B=\begin{bmatrix}0&5\\6&7\end{bmatrix}$

那么

$A\otimes B=\begin{bmatrix}1B & 2B\\3B & 4B\end{bmatrix}=\begin{bmatrix}0&5&0&10\\6&7&12&14\\0&15&0&20\\18&21&24&28\end{bmatrix}$

它常出现在这些地方:

  1. 表示大规模块结构矩阵。 比如一个系统由两个小系统组合而成时,整体矩阵常能写成克罗内克积的形式。
  2. 向量化矩阵公式。 例如一个非常经典的式子: