Kronecker 积(直积/张量积)
定义
右 Kronecker 积(常用)
设 A∈Rm×n,B∈Rp×q。右 Kronecker 积 A⊗B 是一个 mp×nq 矩阵:
A⊗B=a11Ba21B⋮am1Ba12Ba22B⋮am2B⋯⋯⋱⋯a1nBa2nB⋮amnB.
即用 A 的每个元素去乘整个矩阵 B。
左 Kronecker 积
[A⊗B]left=Ab11Ab21⋮Abp1Ab12Ab22⋮Abp2⋯⋯⋱⋯Ab1qAb2q⋮Abpq.
注意:左 Kronecker 积等价于右 Kronecker 积的 B⊗A。本书默认采用右 Kronecker 积定义。
向量的 Kronecker 积
当 a∈Rm,b∈Rp 时:
a⊗b=a1ba2b⋮amb∈Rmp.
向量的外积可用 Kronecker 积表示为:
x∘y=xyH=x⊗yT.
基本性质
-
Im⊗In=Imn.
-
(AB)⊗(CD)=(A⊗C)(B⊗D).
-
(A⊗B)H=AH⊗BH.
-
(A⊗B)−1=A−1⊗B−1(A,B 可逆),
-
(A⊗B)†=A†⊗B†.
-
rank(A⊗B)=rank(A)rank(B).
-
若 A∈Cm×m,B∈Cn×n,则:
-
det(A⊗B)=(detA)n(detB)m.
-
tr(A⊗B)=tr(A)tr(B).
-
(A+B)⊗(C+D)=A⊗C+A⊗D+B⊗C+B⊗D.
-
(A⊗B)⊗C=A⊗(B⊗C).
-
(A⊗B)⊗(C⊗D)=A⊗B⊗C⊗D.
-
(A⊗B)(C⊗D)(E⊗F)=(ACE)⊗(BDF).
-
A⊗D=(A⊗Iq)(Ip⊗D).
-
exp(A⊗B)=exp(A)⊗exp(B).
-
设 Kpm 为 pm×pm 置换矩阵(每行、每列恰好只有一个元素为 1,其余元素全为 0 的方阵),A∈Cm×n,B∈Cp×q,b∈Cp,则:
Kpm(A⊗B)=(B⊗A)Kqn,
Kpm(A⊗B)Knq=B⊗A,
Kpm(A⊗b)=b⊗A,
Kpm(b⊗A)=A⊗b.
-
结构规律:式中 Ip⊗D 为块对角矩阵,而 A⊗Iq 为稀疏矩阵
广义 Kronecker 积
定义
广义 Kronecker 积是矩阵组与另一个矩阵(或矩阵组)之间的运算,其结果依然保持矩阵组(或矩阵)的结构。
给定 N 个 m×r 矩阵 Ai (i=1,⋯,N) 组成的矩阵组 {A}N,以及一个 N×l 矩阵 B。矩阵组 {A}N 与矩阵 B 的广义 Kronecker 积定义为:
{A}N⊗B=A1⊗b1⋮AN⊗bN
其中,bi 是矩阵 B 的第 i 个行向量。
Khatri-Rao 积
定义
两个具有相同列数的矩阵 G∈Rp×n 和 F∈Rq×n 的 Khatri-Rao 积记为 F⊙G
F⊙G=[f1⊗g1,f2⊗g2,⋯,fn⊗gn]∈Rpq×n
它由两个矩阵的对应列向量的 Kronecker 积排列而成。因此,Khatri-Rao 积又叫对应列 Kronecker 积
更一般地,若 A=[A1,⋯,Au] 和 B=[B1,⋯,Bu] 是两个分块矩阵,且分块矩阵 Ai 和 Bi 具有相同的列数,则:
A⊙B=[A1⊗B1,A2⊗B2,⋯,Au⊗Bu]
性质
(1) Khatri-Rao 积本身的基本性质
- 分配律:(A+B)⊙D=A⊙D+B⊙D
- 结合律:A⊙B⊙C=(A⊙B)⊙C=A⊙(B⊙C)
- 交换律:A⊙B=Knn(B⊙A) (其中,矩阵 Knn 为交换矩阵)
(2) Khatri-Rao 积与 Hadamard 积的关系
(A⊙B)T(C⊙D)=(ATC)∗(BTD)
(A⊙B)T(A⊙B)=(ATA)∗(BTB)
(A⊙B)†=[(ATA)∗(BTB)]†(A⊙B)T
推广有 (A⊙B⊙C)T(A⊙B⊙C)=(ATA)∗(BTB)∗(CTC) 和 (A⊙B⊙C)†=[(ATA)∗(BTB)∗(CTC)]†(A⊙B⊙C)T。
(3) Khatri-Rao 积与 Kronecker 积的关系
(A⊗B)(F⊙G)=AF⊙BG