数学上,克罗内克积是两个任意大小的矩阵间的运算.克罗内克积是张量积的特殊形式,以德国数学家利奥波德·克罗内克命名.
A ⊗ B A \otimes B A⊗B 如果 A A A 是一个 m × n m \times n m×n 的矩阵, 而 B B B 是一个 p × q p \times q p×q 的矩阵, 克罗内克积则是一个 m p × n q m p \times n q mp×nq 的分块矩阵
A ⊗ B = [ a 11 B ⋯ a 1 n B ⋮ ⋱ ⋮ a m 1 B ⋯ a m n B ] A \otimes B=\left[\begin{array}{ccc} a_{11} B & \cdots & a_{1 n} B \\ \vdots & \ddots & \vdots \\ a_{m 1} B & \cdots & a_{m n} B \end{array}\right] A⊗B=⎣⎢⎡a11B⋮am1B⋯⋱⋯a1nB⋮amnB⎦⎥⎤
更具体地可表示为 [ 1 ] { }^{[1]} [1]
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 ] . A \otimes B=\left[\begin{array}{cccccccccc} a_{11} b_{11} & a_{11} b_{12} & \cdots & a_{11} b_{1 q} & \cdots & \cdots & a_{1 n} b_{11} & a_{1 n} b_{12} & \cdots & a_{1 n} b_{1 q} \\ a_{11} b_{21} & a_{11} b_{22} & \cdots & a_{11} b_{2 q} & \cdots & \cdots & a_{1 n} b_{21} & a_{1 n} b_{22} & \cdots & a_{1 n} b_{2 q} \\ \vdots & \vdots & \ddots & \vdots & & & \vdots & \vdots & \ddots & \vdots \\ a_{11} b_{p 1} & a_{11} b_{p 2} & \cdots & a_{11} b_{p q} & \cdots & \cdots & a_{1 n} b_{p 1} & a_{1 n} b_{p 2} & \cdots & a_{1 n} b_{p q} \\ \vdots & \vdots & & \vdots & \ddots & & \vdots & \vdots & & \vdots \\ \vdots & \vdots & & \vdots & & \ddots & \vdots & \vdots & & \vdots \\ a_{m 1} b_{11} & a_{m 1} b_{12} & \cdots & a_{m 1} b_{1 q} & \cdots & \cdots & a_{m n} b_{11} & a_{m n} b_{12} & \cdots & a_{m n} b_{1 q} \\ a_{m 1} b_{21} & a_{m 1} b_{22} & \cdots & a_{m 1} b_{2 q} & \cdots & \cdots & a_{m n} b_{21} & a_{m n} b_{22} & \cdots & a_{m n} b_{2 q} \\ \vdots & \vdots & \ddots & \vdots & & & \vdots & \vdots & \ddots & \vdots \\ a_{m 1} b_{p 1} & a_{m 1} b_{p 2} & \cdots & a_{m 1} b_{p q} & \cdots & \cdots & a_{m n} b_{p 1} & a_{m n} b_{p 2} & \cdots & a_{m n} b_{p q} \end{array}\right] . A⊗B=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡a11b11a11b21⋮a11bp1⋮⋮am1b11am1b21⋮am1bp1a11b12a11b22⋮a11bp2⋮⋮am1b12am1b22⋮am1bp2⋯⋯⋱⋯⋯⋯⋱⋯a11b1qa11b2q⋮a11bpq⋮⋮am1b1qam1b2q⋮am1bpq⋯⋯⋯⋱⋯⋯⋯⋯⋯⋯⋱⋯⋯⋯a1nb11a1nb21⋮a1nbp1⋮⋮amnb11amnb21⋮amnbp1a1nb12a1nb22⋮a1nbp2⋮⋮amnb12amnb22⋮amnbp2⋯⋯⋱⋯⋯⋯⋱⋯a1nb1qa1nb2q⋮a1nbpq⋮⋮amnb1qamnb2q⋮amnbpq⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤.
[ 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 ] \left[\begin{array}{ll}1 & 2 \\ 3 & 1\end{array}\right] \otimes\left[\begin{array}{ll}0 & 3 \\ 2 & 1\end{array}\right]=\left[\begin{array}{llll}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{array}\right]=\left[\begin{array}{cccc}0 & 3 & 0 & 6 \\ 2 & 1 & 4 & 2 \\ 0 & 9 & 0 & 3 \\ 6 & 3 & 2 & 1\end{array}\right] [1321]⊗[0231]=⎣⎢⎢⎡1⋅01⋅23⋅03⋅21⋅31⋅13⋅33⋅12⋅02⋅21⋅01⋅22⋅32⋅11⋅31⋅1⎦⎥⎥⎤=⎣⎢⎢⎡0206319304026231⎦⎥⎥⎤
[ a 11 a 12 a 21 a 22 a 31 a 32 ] ⊗ [ b 11 b 12 b 13 b 21 b 22 b 23 ] = [ a 11 b 11 a 11 b 12 a 11 b 13 a 12 b 11 a 12 b 12 a 12 b 13 a 11 b 21 a 11 b 22 a 11 b 23 a 12 b 21 a 12 b 22 a 12 b 23 a 21 b 11 a 21 b 12 a 21 b 13 a 22 b 11 a 22 b 12 a 22 b 13 a 21 b 21 a 21 b 22 a 21 b 23 a 22 b 21 a 22 b 22 a 22 b 23 a 31 b 11 a 31 b 12 a 31 b 13 a 32 b 11 a 32 b 12 a 32 b 13 a 31 b 21 a 31 b 22 a 31 b 23 a 32 b 21 a 32 b 22 a 32 b 23 ] \left[\begin{array}{ll}a_{11} & a_{12} \\ a_{21} & a_{22} \\ a_{31} & a_{32}\end{array}\right] \otimes\left[\begin{array}{lll}b_{11} & b_{12} & b_{13} \\ b_{21} & b_{22} & b_{23}\end{array}\right]=\left[\begin{array}{llllll}a_{11} b_{11} & a_{11} b_{12} & a_{11} b_{13} & a_{12} b_{11} & a_{12} b_{12} & a_{12} b_{13} \\ a_{11} b_{21} & a_{11} b_{22} & a_{11} b_{23} & a_{12} b_{21} & a_{12} b_{22} & a_{12} b_{23} \\ a_{21} b_{11} & a_{21} b_{12} & a_{21} b_{13} & a_{22} b_{11} & a_{22} b_{12} & a_{22} b_{13} \\ a_{21} b_{21} & a_{21} b_{22} & a_{21} b_{23} & a_{22} b_{21} & a_{22} b_{22} & a_{22} b_{23} \\ a_{31} b_{11} & a_{31} b_{12} & a_{31} b_{13} & a_{32} b_{11} & a_{32} b_{12} & a_{32} b_{13} \\ a_{31} b_{21} & a_{31} b_{22} & a_{31} b_{23} & a_{32} b_{21} & a_{32} b_{22} & a_{32} b_{23}\end{array}\right] ⎣⎡a11a21a31a12a22a32⎦⎤⊗[b11b21b12b22b13b23]=⎣⎢⎢⎢⎢⎢⎢⎡a11b11a11b21a21b11a21b21a31b11a31b21a11b12a11b22a21b12a21b22a31b12a31b22a11b13a11b23a21b13a21b23a31b13a31b23a12b11a12b21a22b11a22b21a32b11a32b21a12b12a12b22a22b12a22b22a32b12a32b22a12b13a12b23a22b13a22b23a32b13a32b23⎦⎥⎥⎥⎥⎥⎥⎤
克罗内克积是张量积的特殊形式, 因此满足双线性与结合律:
A ⊗ ( B + C ) = A ⊗ B + A ⊗ C (if B and C have the same size) ( A + B ) ⊗ C = A ⊗ C + B ⊗ C (if A and B have the same size) ( k A ) ⊗ B = A ⊗ ( k B ) = k ( A ⊗ B ) ( A ⊗ B ) ⊗ C = A ⊗ ( B ⊗ C ) \begin{gathered} A \otimes(B+C)=A \otimes B+A \otimes C \quad \text { (if } B \text { and } C \text { have the same size) } \\ (A+B) \otimes C=A \otimes C+B \otimes C \quad \text { (if } A \text { and } B \text { have the same size) } \\ (k A) \otimes B=A \otimes(k B)=k(A \otimes B) \\ (A \otimes B) \otimes C=A \otimes(B \otimes C) \end{gathered} A⊗(B+C)=A⊗B+A⊗C (if B and C have the same size) (A+B)⊗C=A⊗C+B⊗C (if A and B have the same size) (kA)⊗B=A⊗(kB)=k(A⊗B)(A⊗B)⊗C=A⊗(B⊗C)
其中, A , B A, B A,B 和 C C C 是矩阵, 而 k k k 是常量.
克罗内克积不符合交换律:通常, A ⊗ B A \otimes B A⊗B 不同于 B ⊗ A B \otimes A B⊗A .
A ⊗ B A \otimes B A⊗B 和 B ⊗ A B \otimes A B⊗A 是置换等价的, 也就是说, 存在置换矩阵 P P P 和 Q Q Q, 使得
A ⊗ B = P ( B ⊗ A ) Q A \otimes B=P(B \otimes A) Q A⊗B=P(B⊗A)Q
如果 A A A 和 B B B 是方块矩阵, 则 A ⊗ B A \otimes B A⊗B 和 B ⊗ A B \otimes A B⊗A 甚至是置换相似的, 也就是说, 我们可以取 P = Q P=Q P=Q .
如果A、B、C和 D D D 是四个矩阵, 且矩阵乘积AC和 B D B D BD 存在, 那么:
( A ⊗ B ) ( C ⊗ D ) = A C ⊗ B D (\mathbf{A} \otimes \mathbf{B})(\mathbf{C} \otimes \mathbf{D})=\mathbf{A} \mathbf{C} \otimes \mathbf{B D} (A⊗B)(C⊗D)=AC⊗BD
这个性质称为“混合乘积性质”, 因为它混合了通常的矩阵乘积和克罗内克积.于是可以推出, A ⊗ B A \otimes B A⊗B 是可逆的当且仅当 A \mathbf{A} A 和 B \mathrm{B} B 是可逆的, 其逆矩阵为:
( A ⊗ B ) − 1 = A − 1 ⊗ B − 1 (\mathbf{A} \otimes \mathbf{B})^{-1}=\mathbf{A}^{-1} \otimes \mathbf{B}^{-1} (A⊗B)−1=A−1⊗B−1
如果A是 n × n n \times n n×n 矩阵, B是 m × m m \times m m×m 矩阵, I k \mathbf{I}_{k} Ik 表示 k × k k \times k k×k 单位矩阵, 那么我们可以定义克罗内克和 ⊕ \oplus ⊕ 为:
A ⊕ B = A ⊗ I m + I n ⊗ B . \mathbf{A} \oplus \mathbf{B}=\mathbf{A} \otimes \mathbf{I}_{m}+\mathbf{I}_{n} \otimes \mathbf{B} . A⊕B=A⊗Im+In⊗B.
矩阵的克罗内克积对应于线性映射的抽象张量积.特别地, 如果向量空间 V 、 W 、 X V 、 W 、 X V、W、X 和 Y Y Y 分别具有基 { v 1 , … , v m } 、 { w 1 , … , \left\{v_{1}, \ldots, v_{m}\right\} 、\left\{w_{1}, \ldots,\right. {
v1,…,vm}、{
w1,…,, w n } 、 { x 1 , … , x d } \left.w_{n}\right\} 、\left\{x_{1}, \ldots, x_{d}\right\} wn}、{
x1,…,xd} 和 { y 1 , … , y e } \left\{y_{1}, \ldots, y_{e}\right\} {
y1,…,ye}, 且矩阵 A A A 和 B B B 分别在恰当的基中表示线性变换 S : V → X S: V \rightarrow X S:V→X 和 T : W → Y T: W \rightarrow Y T:W→Y, 那么矩阵 A ⊗ B A \otimes B A⊗B 表示两个映射的张 量积 S ⊗ T : V ⊗ W → X ⊗ Y S \otimes T: V \otimes W \rightarrow X \otimes Y S⊗T:V⊗W→X⊗Y, 关于 V ⊗ W V \otimes W V⊗W 的基 { v 1 ⊗ w 1 , v 1 ⊗ w 2 , … , v 2 ⊗ w 1 , … , v m ⊗ w n } \left\{v_{1} \otimes w_{1}, v_{1} \otimes w_{2}, \ldots, v_{2} \otimes w_{1}, \ldots, v_{m} \otimes w_{n}\right\} {
v1⊗w1,v1⊗w2,…,v2⊗w1,…,vm⊗wn} 和 X ⊗ Y X \otimes Y X⊗Y 的类似基. [2]
两个图的邻接矩阵的克罗内克积是它们的张量积图的邻接矩阵.两个图的邻接矩阵的克罗内克和, 则是它们的笛卡儿积图的邻接矩阵.
克罗内克积转置运算符合分配律:
( A ⊗ B ) T = A T ⊗ B T (A \otimes B)^{T}=A^{T} \otimes B^{T} (A⊗B)T=AT⊗BT
克罗内克积可以用来为一些矩阵方程得出方便的表示法.例如, 考虑方程 A X B = C A X B=C AXB=C, 其中 A 、 B A 、 B A、B 和 C C C 是给定的矩阵, X X X 是末知的 矩阵.我们可以把这个方程重写为 ( B ⊤ ⊗ A ) vec ( X ) = vec ( A X B ) = vec ( C ) \left(B^{\top} \otimes A\right) \operatorname{vec}(X)=\operatorname{vec}(A X B)=\operatorname{vec}(C) (B⊤⊗A)vec(X)=vec(AXB)=vec(C).
这样, 从克罗内克积的性质可以推出, 方程 A X B = C A X B=C AXB=C 具有唯一的解, 当且仅当 A A A 和 B B B 是非奇异矩阵. (Horn & Johnson 1991, Lemma 4.3.1) .
在这里, vec ( X ) \operatorname{vec}(X) vec(X) 表示矩阵 X X X 的向量化, 它是把 X X X 的所有列堆起来所形成的列向量.
如果把X的行堆起来, 形成列向量 x x x, 则AXB也可以写为 ( A ⊗ B ⊤ ) x \left(A \otimes B^{\top}\right) x \quad (A⊗B⊤)x (Jain 1989, 2.8 2.8 2.8 block Matrices and Kronecker Products).
尽管没有明显证据证明利奥波德·克罗内克是第一个定义并使用这一运算的人,克罗内克积还是以其名字命名.确实,在历史上,克罗内克积曾以Johann Georg Zehfuss名字命名为Zehfuss矩阵.
本人水平有限,若有不妥之处, 恳请批评指正.
作者: 图灵的猫
作者邮箱: turingscat@126.com