克罗内克积

数学上，克罗内克积（英語：Kronecker product）是两个任意大小的矩阵间的运算，表示为⊗。简单地说，就是将前一个矩阵的每个元素乘上后一个完整的矩阵。克罗内克积是外积从向量到矩阵的推广，也是张量积在标准基下的矩阵表示。 尽管没有明显证据证明德国数学家利奥波德·克罗内克是第一个定义并使用这一运算的人，克罗内克积还是以其名字命名。在历史上，克罗内克积曾以Johann Georg Zehfuss名字命名为Zehfuss矩阵。 如果A是一个 m × n 的矩阵，而B是一个 p × q 的矩阵，克罗内克积 A ⊗ B {\displaystyle A\otimes B} 则是一个 mp × nq 的分块矩阵 A ⊗ B = [ a 11 B ⋯ a 1 n B ⋮ ⋱ ⋮ a m 1 B ⋯ a m n B ] . {\displaystyle 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 ⊗ B = [ a 11 b 11 a 11 b 12 ⋯ a 11 b 1 q ⋯ ⋯ a 1 n b 11 a 1 n b 12 ⋯ a 1 n b 1 q a 11 b 21 a 11 b 22 ⋯ a 11 b 2 q ⋯ ⋯ a 1 n b 21 a 1 n b 22 ⋯ a 1 n b 2 q ⋮ ⋮ ⋱ ⋮ ⋮ ⋮ ⋱ ⋮ a 11 b p 1 a 11 b p 2 ⋯ a 11 b p q ⋯ ⋯ a 1 n b p 1 a 1 n b p 2 ⋯ a 1 n b p q ⋮ ⋮ ⋮ ⋱ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋱ ⋮ ⋮ ⋮ a m 1 b 11 a m 1 b 12 ⋯ a m 1 b 1 q ⋯ ⋯ a m n b 11 a m n b 12 ⋯ a m n b 1 q a m 1 b 21 a m 1 b 22 ⋯ a m 1 b 2 q ⋯ ⋯ a m n b 21 a m n b 22 ⋯ a m n b 2 q ⋮ ⋮ ⋱ ⋮ ⋮ ⋮ ⋱ ⋮ a m 1 b p 1 a m 1 b p 2 ⋯ a m 1 b p q ⋯ ⋯ a m n b p 1 a m n b p 2 ⋯ a m n b p q ] . {\displaystyle 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}}.} 我们可以更紧凑地写为 ( A ⊗ B ) p ( r − 1 ) + v , q ( s − 1 ) + w = a r s b v w {\displaystyle (A\otimes B)_{p(r-1)+v,q(s-1)+w}=a_{rs}b_{vw}} [ 1 2 3 1 ] ⊗ [ 0 3 2 1 ] = [ 1 ⋅ 0 1 ⋅ 3 2 ⋅ 0 2 ⋅ 3 1 ⋅ 2 1 ⋅ 1 2 ⋅ 2 2 ⋅ 1 3 ⋅ 0 3 ⋅ 3 1 ⋅ 0 1 ⋅ 3 3 ⋅ 2 3 ⋅ 1 1 ⋅ 2 1 ⋅ 1 ] = [ 0 3 0 6 2 1 4 2 0 9 0 3 6 3 2 1 ] {\displaystyle {\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 ⊗ ( B + C ) = A ⊗ B + A ⊗ C (if  B  and  C  have the same size) , {\displaystyle A\otimes (B+C)=A\otimes B+A\otimes C\qquad {\mbox{(if }}B{\mbox{ and }}C{\mbox{ have the same size)}},} ( A + B ) ⊗ C = A ⊗ C + B ⊗ C (if  A  and  B  have the same size) , {\displaystyle (A+B)\otimes C=A\otimes C+B\otimes C\qquad {\mbox{(if }}A{\mbox{ and }}B{\mbox{ have the same size)}},} ( k A ) ⊗ B = A ⊗ ( k B ) = k ( A ⊗ B ) , {\displaystyle (kA)\otimes B=A\otimes (kB)=k(A\otimes B),} ( A ⊗ B ) ⊗ C = A ⊗ ( B ⊗ C ) , {\displaystyle (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 ⊗ B = P ( B ⊗ A ) Q . {\displaystyle A\otimes B=P\,(B\otimes A)\,Q.} 如果A和B是方块矩阵，则A ⊗ B和B ⊗ A甚至是排列相似的，也就是说，我们可以取P = QT。 如果A、B、C和D是四个矩阵，且矩阵乘积AC和BD存在，那么： ( A ⊗ B ) ( C ⊗ D ) = A C ⊗ B D . {\displaystyle (\mathbf {A} \otimes \mathbf {B} )(\mathbf {C} \otimes \mathbf {D} )=\mathbf {AC} \otimes \mathbf {BD} .} 这个性质称为“混合乘积性质”，因为它混合了通常的矩阵乘积和克罗内克积。于是可以推出，A ⊗ {\displaystyle \,\otimes \,} B是可逆的当且仅当A和B是可逆的，其逆矩阵为： ( A ⊗ B ) − 1 = A − 1 ⊗ B − 1 . {\displaystyle (\mathbf {A} \otimes \mathbf {B} )^{-1}=\mathbf {A} ^{-1}\otimes \mathbf {B} ^{-1}.} 如果A是n × n矩阵，B是m × m矩阵， I k {\displaystyle \mathbf {I} _{k}} 表示k × k单位矩阵，那么我们可以定义克罗内克和 ⊕ {\displaystyle \oplus } 为： A ⊕ B = A ⊗ I m + I n ⊗ B . {\displaystyle \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 ⊗ {\displaystyle \,\otimes \,} B的特征值为： λ i μ j , i = 1 , … , n , j = 1 , … , q . {\displaystyle \lambda _{i}\mu _{j},\qquad i=1,\ldots ,n,\,j=1,\ldots ,q.} 于是可以推出，两个矩阵的克罗内克积的迹和行列式为： tr ⁡ ( A ⊗ B ) = tr ⁡ A tr ⁡ B and det ( A ⊗ B ) = ( det A ) q ( det B ) n . {\displaystyle \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有rA个非零的奇异值，它们是： σ A , i , i = 1 , … , r A . {\displaystyle \sigma _{\mathbf {A} ,i},\qquad i=1,\ldots ,r_{\mathbf {A} }.} 类似地，设B的非零奇异值为： σ B , i , i = 1 , … , r B . {\displaystyle \sigma _{\mathbf {B} ,i},\qquad i=1,\ldots ,r_{\mathbf {B} }.} 那么克罗内克积A ⊗ {\displaystyle \,\otimes \,} B有rArB个非零奇异值，它们是： σ A , i σ B , j , i = 1 , … , r A , j = 1 , … , r B . {\displaystyle \sigma _{\mathbf {A} ,i}\sigma _{\mathbf {B} ,j},\qquad i=1,\ldots ,r_{\mathbf {A} },\,j=1,\ldots ,r_{\mathbf {B} }.} 由于一个矩阵的秩等于非零奇异值的数目，因此我们有： rank ⁡ ( A ⊗ B ) = rank ⁡ A rank ⁡ B . {\displaystyle \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 ⊗ B ) T = A T ⊗ B T . {\displaystyle (A\otimes B)^{T}=A^{T}\otimes B^{T}.} 克罗内克积可以用来为一些矩阵方程得出方便的表示法。例如，考虑方程AXB = C，其中A、B和C是给定的矩阵，X是未知的矩阵。我们可以把这个方程重写为 ( B T ⊗ A ) vec ⁡ ( X ) = vec ⁡ ( A X B ) = vec ⁡ ( C ) . {\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，则 A X B {\displaystyle AXB} 也可以写为 ( A ⊗ B T ) x {\displaystyle (A\otimes B^{T})x} (Jain 1989，2.8 block Matrices and Kronecker Products)。 Pages 401–402 of Dummit, David S.; Foote, Richard M., Abstract Algebra 2, New York: John Wiley and Sons, Inc., 1999, ISBN 0-471-36857-1  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., Topics in Matrix Analysis, Cambridge University Press, 1991, ISBN 0-521-46713-6 . Jain, Anil K., Fundamentals of Digital Image Processing, Prentice Hall, 1989, ISBN 0-13-336165-9 . Kronecker product. PlanetMath.  MathWorld Matrix Direct Product （页面存档备份，存于互联网档案馆）