数学上，**克罗内克积**（英語：）是两个任意大小的矩阵间的运算，表示为⊗。简单地说，就是将前一个矩阵的每个元素乘上后一个完整的矩阵。克罗内克积是外积从向量到矩阵的推广，也是张量积在标准基下的矩阵表示。

尽管没有明显证据证明德国数学家利奥波德·克罗内克是第一个定义并使用这一运算的人，**克罗内克积**还是以其名字命名。在历史上，**克罗内克积**曾以Johann Georg Zehfuss名字命名为Zehfuss矩阵。

定义
--

如果*A*是一个 *m* × *n* 的矩阵，而*B*是一个 *p* × *q* 的矩阵，**克罗内克积**A\otimes B则是一个 *mp* × *nq* 的分块矩阵

A\otimes B={\begin{bmatrix}a\_{{11}}B&\cdots &a\_{{1n}}B\\\vdots &\ddots &\vdots \\a\_{{m1}}B&\cdots &a\_{{mn}}B\end{bmatrix}}.
更具体地可表示为

A\otimes B={\begin{bmatrix}a\_{{11}}b\_{{11}}&a\_{{11}}b\_{{12}}&\cdots &a\_{{11}}b\_{{1q}}&\cdots &\cdots &a\_{{1n}}b\_{{11}}&a\_{{1n}}b\_{{12}}&\cdots &a\_{{1n}}b\_{{1q}}\\a\_{{11}}b\_{{21}}&a\_{{11}}b\_{{22}}&\cdots &a\_{{11}}b\_{{2q}}&\cdots &\cdots &a\_{{1n}}b\_{{21}}&a\_{{1n}}b\_{{22}}&\cdots &a\_{{1n}}b\_{{2q}}\\\vdots &\vdots &\ddots &\vdots &&&\vdots &\vdots &\ddots &\vdots \\a\_{{11}}b\_{{p1}}&a\_{{11}}b\_{{p2}}&\cdots &a\_{{11}}b\_{{pq}}&\cdots &\cdots &a\_{{1n}}b\_{{p1}}&a\_{{1n}}b\_{{p2}}&\cdots &a\_{{1n}}b\_{{pq}}\\\vdots &\vdots &&\vdots &\ddots &&\vdots &\vdots &&\vdots \\\vdots &\vdots &&\vdots &&\ddots &\vdots &\vdots &&\vdots \\a\_{{m1}}b\_{{11}}&a\_{{m1}}b\_{{12}}&\cdots &a\_{{m1}}b\_{{1q}}&\cdots &\cdots &a\_{{mn}}b\_{{11}}&a\_{{mn}}b\_{{12}}&\cdots &a\_{{mn}}b\_{{1q}}\\a\_{{m1}}b\_{{21}}&a\_{{m1}}b\_{{22}}&\cdots &a\_{{m1}}b\_{{2q}}&\cdots &\cdots &a\_{{mn}}b\_{{21}}&a\_{{mn}}b\_{{22}}&\cdots &a\_{{mn}}b\_{{2q}}\\\vdots &\vdots &\ddots &\vdots &&&\vdots &\vdots &\ddots &\vdots \\a\_{{m1}}b\_{{p1}}&a\_{{m1}}b\_{{p2}}&\cdots &a\_{{m1}}b\_{{pq}}&\cdots &\cdots &a\_{{mn}}b\_{{p1}}&a\_{{mn}}b\_{{p2}}&\cdots &a\_{{mn}}b\_{{pq}}\end{bmatrix}}.
我们可以更紧凑地写为
{\displaystyle (A\otimes B)\_{p(r-1)+v,q(s-1)+w}=a\_{rs}b\_{vw}}

### 例子

{\begin{bmatrix}1&2\\3&1\\\end{bmatrix}}\otimes {\begin{bmatrix}0&3\\2&1\\\end{bmatrix}}={\begin{bmatrix}1\cdot 0&1\cdot 3&2\cdot 0&2\cdot 3\\1\cdot 2&1\cdot 1&2\cdot 2&2\cdot 1\\3\cdot 0&3\cdot 3&1\cdot 0&1\cdot 3\\3\cdot 2&3\cdot 1&1\cdot 2&1\cdot 1\\\end{bmatrix}}={\begin{bmatrix}0&3&0&6\\2&1&4&2\\0&9&0&3\\6&3&2&1\end{bmatrix}}.

特性
--

### 双线性和结合律

**克罗内克积**是张量积的特殊形式，因此满足双线性与结合律：

A\otimes (B+C)=A\otimes B+A\otimes C\qquad {\mbox{(if }}B{\mbox{ and }}C{\mbox{ have the same size)}},
(A+B)\otimes C=A\otimes C+B\otimes C\qquad {\mbox{(if }}A{\mbox{ and }}B{\mbox{ have the same size)}},
(kA)\otimes B=A\otimes (kB)=k(A\otimes B),
(A\otimes B)\otimes C=A\otimes (B\otimes C),
其中，*A*, *B* 和 *C* 是矩阵，而 *k* 是常量。

**克罗内克积**不符合交换律：通常，*A* ⊗ *B* 不同于 *B* ⊗ *A*。 

*A* ⊗ *B*和*B* ⊗ *A*是排列等价的，也就是说，存在排列矩阵*P*和*Q*，使得

A\otimes B=P\,(B\otimes A)\,Q.
如果*A*和*B*是方块矩阵，则*A* ⊗ *B*和*B* ⊗ *A*甚至是排列相似的，也就是说，我们可以取*P* = *Q*T。

### 混合乘积性质

如果**A**、**B**、**C**和**D**是四个矩阵，且矩阵乘积**AC**和**BD**存在，那么：

({\mathbf {A}}\otimes {\mathbf {B}})({\mathbf {C}}\otimes {\mathbf {D}})={\mathbf {AC}}\otimes {\mathbf {BD}}.
这个性质称为"混合乘积性质"，因为它混合了通常的矩阵乘积和克罗内克积。于是可以推出，**A** \,\otimes \, **B**是可逆的当且仅当**A**和**B**是可逆的，其逆矩阵为：

({\mathbf {A}}\otimes {\mathbf {B}})^{{-1}}={\mathbf {A}}^{{-1}}\otimes {\mathbf {B}}^{{-1}}.
### 克罗内克和

如果**A**是*n* × *n*矩阵，**B**是*m* × *m*矩阵，{\mathbf {I}}\_{k}表示*k* × *k*单位矩阵，那么我们可以定义克罗内克和\oplus 为：

{\mathbf {A}}\oplus {\mathbf {B}}={\mathbf {A}}\otimes {\mathbf {I}}\_{m}+{\mathbf {I}}\_{n}\otimes {\mathbf {B}}.
### 谱

假设**A**和**B**分别是大小为*n*和*q*的方块矩阵。设λ1，……，λ*n*为**A**的特征值，μ1，……，μ*q*为**B**的特征值。那么**A** \,\otimes \, **B**的特征值为：

\lambda \_{i}\mu \_{j},\qquad i=1,\ldots ,n,\,j=1,\ldots ,q.
于是可以推出，两个矩阵的克罗内克积的迹和行列式为：

\operatorname {tr}({\mathbf {A}}\otimes {\mathbf {B}})=\operatorname {tr}{\mathbf {A}}\,\operatorname {tr}{\mathbf {B}}\quad {\mbox{and}}\quad \det({\mathbf {A}}\otimes {\mathbf {B}})=(\det {\mathbf {A}})^{q}(\det {\mathbf {B}})^{n}.
### 奇异值

如果**A**和**B**是长方矩阵，那么我们可以考虑它们的奇异值。假设**A**有*r***A**个非零的奇异值，它们是：

\sigma \_{{{\mathbf {A}},i}},\qquad i=1,\ldots ,r\_{{\mathbf {A}}}.
类似地，设**B**的非零奇异值为：

\sigma \_{{{\mathbf {B}},i}},\qquad i=1,\ldots ,r\_{{\mathbf {B}}}.
那么克罗内克积**A** \,\otimes \, **B**有*r***A***r***B**个非零奇异值，它们是：

\sigma \_{{{\mathbf {A}},i}}\sigma \_{{{\mathbf {B}},j}},\qquad i=1,\ldots ,r\_{{\mathbf {A}}},\,j=1,\ldots ,r\_{{\mathbf {B}}}.
由于一个矩阵的秩等于非零奇异值的数目，因此我们有：

\operatorname {rank}({\mathbf {A}}\otimes {\mathbf {B}})=\operatorname {rank}{\mathbf {A}}\,\operatorname {rank}{\mathbf {B}}.
### 与抽象张量积的关系

矩阵的克罗内克积对应于线性映射的抽象张量积。特别地，如果向量空间*V*、*W*、*X*和*Y*分别具有基{v1, ... , vm}、 {w1, ... , wn}、{x1, ... , xd}和{y1, ... , ye}，且矩阵*A*和*B*分别在恰当的基中表示线性变换*S* : *V* → *X*和*T* : *W* → *Y*，那么矩阵*A* ⊗ *B*表示两个映射的张量积*S* ⊗ *T* : *V* ⊗ *W* → *X* ⊗ *Y*，关于*V* ⊗ *W*的基{v1 ⊗ w1, v1 ⊗ w2, ... , v2 ⊗ w1, ... , vm ⊗ wn}和*X* ⊗ *Y*的类似基。

### 与图的乘积的关系

两个图的邻接矩阵的克罗内克积是它们的张量积图的邻接矩阵。两个图的邻接矩阵的克罗内克和，则是它们的笛卡儿积图的邻接矩阵。参见第96个练习的答案。

### 转置

**克罗内克积**转置运算符合分配律：

(A\otimes B)^{T}=A^{T}\otimes B^{T}.

矩阵方程
----

克罗内克积可以用来为一些矩阵方程得出方便的表示法。例如，考虑方程*AXB* = *C*，其中*A*、*B*和*C*是给定的矩阵，*X*是未知的矩阵。我们可以把这个方程重写为

{\displaystyle (B^{T}\otimes A)\,\operatorname {vec} (X)=\operatorname {vec} (AXB)=\operatorname {vec} (C).}
这样，从克罗内克积的性质可以推出，方程*AXB* = *C*具有唯一的解，当且仅当*A*和*B*是非奇异矩阵。（Horn & Johnson 1991，Lemma 4.3.1）.

在这里，vec(*X*)表示矩阵*X*的向量化，它是把*X*的所有列堆起来所形成的列向量。

如果把*X*的行堆起来，形成列向量*x*，则AXB也可以写为{\displaystyle (A\otimes B^{T})x} （Jain 1989，2.8 block Matrices and Kronecker Products）。

參考文獻
----

1. ↑  Pages 401–402 of Dummit, David S.; Foote, Richard M.  2, New York: John Wiley and Sons, Inc. 1999, ISBN 0-471-36857-1
2. ↑  D. E. Knuth: 
"Pre-Fascicle 0a: Introduction to Combinatorial Algorithms" （页面存档备份，存于）, zeroth printing (revision 2), to appear as part of D.E. Knuth: *The Art of Computer Programming Vol. 4A*

* Horn, Roger A.; Johnson, Charles R. Cambridge University Press, 1991, ISBN 0-521-46713-6 .

* Jain, Anil K. Prentice Hall, 1989, ISBN 0-13-336165-9 .

外部链接
----

*. PlanetMath.
* MathWorld Matrix Direct Product （页面存档备份，存于）