克罗内克积
数学上,克罗内克积是两个任意大小的矩阵间的运算.克罗内克积是张量积的特殊形式,以德国数学家利奥波德·克罗内克命名.
定义
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矩阵.
参考资料
- Van Loan C F. The ubiquitous Kronecker product[J]. Journal of computational and applied mathematics, 2000, 123(1): 85-100.
- 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
本人水平有限,若有不妥之处, 恳请批评指正.
作者: 图灵的猫
作者邮箱: turingscat@126.com