跳到正文
格致开物MATHWIKI

克罗内克积

内容维护:格致开物 · 编写与核验 · 修订记录 · 纠错

克罗内克积(Kronecker product)将两个矩阵组成一个分块矩阵。若 A=(aij)∈ℝm×n、B∈ℝp×q,定义 A⊗B=(a11B⋯a1nB⋮⋮am1B⋯amnB)∈ℝmp×nq. 外层索引决定选哪个块,内层索引决定块中哪个元素。它与要求内维相等的普通矩阵乘法不同,也与逐元素相乘不同。[1]

取 A=(120−1)、B=(2013)。按照四个块逐一填入,得到 A⊗B=(2040132600−2000−1−3). 左上块是 B,右上块是 2B;零块和负块同样保留它们在外层矩阵中的位置。

二乘二矩阵A的四个元素分别变成B、二B、零块和负B,形成四乘四矩阵。
粗分界线区分外层的四个块,块内仍是B的行列顺序。

索引公式与复合坐标

把行号写成一对 (i,α),其中 1≤i≤m、1≤α≤p;列号写成 (j,β)。按先外层、后内层的顺序堆叠时, (A⊗B)(i−1)p+α,(j−1)q+β=aijbαβ. 例如第二区块列、第一块行里的第二行第一列,对应整体的第二行第三列,其值为 a12b21=2⋅1=2。索引公式能在矩阵很大时避免靠视觉猜块位置。

若向量 u=(u1,…,un)𝖳、v∈ℝq,其积向量按块定义为 u⊗v=(u1v𝖳,…,unv𝖳)𝖳。第 (i,α) 个输出为 ∑j=1n∑β=1qaijbαβujvβ=(∑jaijuj)(∑βbαβvβ), 所以 (A⊗B)(u⊗v)=(Au)⊗(Bv). 这说明它怎样让两个坐标系统各自受变换,再组合成一个输出。

混合乘积恒等式的证明

设 A∈ℝm×n、C∈ℝn×r、B∈ℝp×q、D∈ℝq×s。这些尺寸保证两边都存在,此时 (A⊗B)(C⊗D)=(AC)⊗(BD). 左边在复合行 (i,α)、复合列 (k,γ) 的元素为 ∑j=1n∑β=1qaijbαβcjkdβγ=(∑jaijcjk)(∑βbαβdβγ). 两个独立有限和可以分离,恰好得到右边对应元素。这一步依赖尺寸相容,不能从符号外形直接套用。由同一公式,当 A,B 均为可逆方阵时,(A⊗B)−1=A−1⊗B−1。

用主例取 u=(1,2)𝖳、v=(1,−1)𝖳。有 Au=(5,−2)𝖳、Bv=(2,−2)𝖳,故输出为 (10,−10,−4,4)𝖳。也可把输入 u⊗v=(1,−1,2,−2)𝖳 代入四乘四矩阵逐行相乘,得到同一结果。

次序与向量化

克罗内克积一般不交换。主例中 B⊗A 的第一行为 (2,4,0,0),与 A⊗B 的第一行 (2,0,4,0) 不同。对调两种复合索引可用置换矩阵联系这两个结果,但“重新排列后相关”不等于“原矩阵相等”。

对按列堆叠的矩阵向量化,有 vec⁡(AXB)=(B𝖳⊗A)vec⁡(X). 这里 A∈ℝm×n、X∈ℝn×p、B∈ℝp×q,两边都是 mq 维向量。转置和次序来自列索引的组织方式,而不是可随意改变的书写习惯。

变式取 A=diag⁡(2,3),B=diag⁡(5,7)。克罗内克积为 diag⁡(10,14,15,21)。更一般地,若 Au=λu、Bv=μv 且两向量非零,上面的向量恒等式给出 (A⊗B)(u⊗v)=λμ(u⊗v),因此组合方向的特征值是两者的乘积。这提供了有结构的大矩阵的一种计算途径,无需先展开全部元素。

参考文献

  1. ↑ Kaare Brandt Petersen、Michael Syskind Pedersen,The Matrix Cookbook,Kronecker Products 与 Vectorization 各节。