1.6_Kronecker_积

1.6 Kronecker 积

定义1.19 设 ARm×n,BRp×qA \in \mathbb{R}^{m \times n}, B \in \mathbb{R}^{p \times q} , 则 AABB 的 Kronecker 积定义为

AB=[a11Ba12Ba1nBa21Ba22Ba2nBam1Bam2BamnB]Rmp×nq.A \otimes B = \left[ \begin{array}{c c c c} a _ {1 1} B & a _ {1 2} B & \dots & a _ {1 n} B \\ a _ {2 1} B & a _ {2 2} B & \dots & a _ {2 n} B \\ \vdots & \vdots & \ddots & \vdots \\ a _ {m 1} B & a _ {m 2} B & \dots & a _ {m n} B \end{array} \right] \in \mathbb {R} ^ {m p \times n q}.

Kronecker积也称为直积(direct product),或张量积(tensor product).

任意两个矩阵都存在 Kronecker 积, 且 ABA \otimes BBAB \otimes A 是同阶矩阵. 通常 ABBAA \otimes B \neq B \otimes A , 但它们之间存在下面的关系式.

定理1.61 设 ACm×mA \in \mathbb{C}^{m \times m} , BCn×nB \in \mathbb{C}^{n \times n} , 则存在 mnmn 阶置换矩阵 PP 使得

PT(AB)P=BA.P ^ {\mathsf {T}} (A \otimes B) P = B \otimes A.

定理1.62 矩阵的Kronecker积有以下性质:

=(A1B1)(A2B2)(AkBk);= \left(A _ {1} B _ {1}\right) \otimes \left(A _ {2} B _ {2}\right) \otimes \dots \otimes \left(A _ {k} B _ {k}\right);

(1) (αA)B=A(αB)=α(AB),αR;(\alpha A)\otimes B = A\otimes (\alpha B) = \alpha (A\otimes B),\quad \forall \alpha \in \mathbb{R};
(2) (AB)T=ATBT,(A\otimes B)^{\mathsf{T}} = A^{\mathsf{T}}\otimes B^{\mathsf{T}}, (AB)=AB;(A\otimes B)^{*} = A^{*}\otimes B^{*};
(3) (AB)C=A(BC);(A\otimes B)\otimes C = A\otimes (B\otimes C);
(4) (A+B)C=AC+BC;(A + B)\otimes C = A\otimes C + B\otimes C;
(5) A(B+C)=AB+AC;A\otimes (B + C) = A\otimes B + A\otimes C;
(6) 混合积: (AB)(CD)=(AC)(BD)(A \otimes B)(C \otimes D) = (AC) \otimes (BD)
(7) (A1A2Ak)(B1B2Bk)(A_{1}\otimes A_{2}\otimes \dots \otimes A_{k})(B_{1}\otimes B_{2}\otimes \dots \otimes B_{k})
(8) (A1B1)(A2B2)(AkBk)=(A1A2Ak)(B1B2Bk)(A_{1}\otimes B_{1})(A_{2}\otimes B_{2})\dots (A_{k}\otimes B_{k}) = (A_{1}A_{2}\dots A_{k})\otimes (B_{1}B_{2}\dots B_{k})
(9) rank(AB)=rank(A)rank(B)\operatorname{rank}(A \otimes B) = \operatorname{rank}(A) \operatorname{rank}(B) ;

推论1.63 设 A=Q1Λ1Q11Cm×m,B=Q2Λ2Q21Cn×nA = Q_{1}\Lambda_{1}Q_{1}^{-1}\in \mathbb{C}^{m\times m},B = Q_{2}\Lambda_{2}Q_{2}^{-1}\in \mathbb{C}^{n\times n} ,则

AB=(Q1Q2)(Λ1Λ2)(Q1Q2)1.A \otimes B = (Q _ {1} \otimes Q _ {2}) (\Lambda_ {1} \otimes \Lambda_ {2}) (Q _ {1} \otimes Q _ {2}) ^ {- 1}.

Kronecker积的特征值

定理1.64 设 ARm×m,BRn×nA \in \mathbb{R}^{m \times m}, B \in \mathbb{R}^{n \times n} , 并设 (λ,x)(\lambda, x)(μ,y)(\mu, y) 分别是 AABB 的一个特征对, 则 (λμ,xy)(\lambda \mu, x \otimes y)ABA \otimes B 的一个特征对. 由此可知, BAB \otimes AABA \otimes B 具有相同的特征值.

推论1.65设 ACm×m,BCn×nA\in \mathbb{C}^{m\times m},B\in \mathbb{C}^{n\times n} ,则 AIn+ImBA\otimes I_n + I_m\otimes B 的特征值为 λi+μj\lambda_{i} + \mu_{j} ,其中 λi\lambda_{i}μj\mu_{j} 分别为 AABB 的特征值.

定理1.66 设 ARm×mA \in \mathbb{R}^{m \times m} , BRn×nB \in \mathbb{R}^{n \times n} , 则

(1) tr(AB)=tr(A)tr(B)\operatorname{tr}(A \otimes B) = \operatorname{tr}(A) \operatorname{tr}(B) ;
(2) det(AB)=det(A)ndet(B)m\operatorname{det}(A \otimes B) = \operatorname{det}(A)^n \operatorname{det}(B)^m ;
(3) 若 AABB 都非奇异, 则 (AB)1=A1B1(A \otimes B)^{-1} = A^{-1} \otimes B^{-1} .

Kronecker积与向量的乘积

定理1.67 设矩阵 X=[x1,x2,,xn]Rm×nX = [x_{1}, x_{2}, \ldots, x_{n}] \in \mathbb{R}^{m \times n} , 记 vec(X)\operatorname{vec}(X)XX 按列拉成的 mnmn 维列向量, 即

vec(X)=[x1,x2,,xn],\operatorname {v e c} (X) = \left[ x _ {1} ^ {\top}, x _ {2} ^ {\top}, \dots , x _ {n} ^ {\top} \right] ^ {\top},

则有

vec(AX)=(IA)vec(X),vec(XB)=(BI)vec(X),\operatorname {v e c} (A X) = (I \otimes A) \operatorname {v e c} (X), \quad \operatorname {v e c} (X B) = (B ^ {\top} \otimes I) \operatorname {v e c} (X),

以及

(AB)vec(X)=vec(BXA).(A \otimes B) \operatorname {v e c} (X) = \operatorname {v e c} (B X A ^ {\top}).

我们称 vec(X)\operatorname{vec}(X) 为向量化算子或拉直算子. 该结论对节省运算量和存储量都有好处.

Kronecker积与矩阵方程

Kronecker 积一个重要应用是可以将某些矩阵方程转化成一般的代数方程.

定理1.68 矩阵方程

AX+XB=DA X + X B = D

等价于代数方程

(IA+BTI)vec(X)=vec(D).(I \otimes A + B ^ {\mathsf {T}} \otimes I) \operatorname {v e c} (X) = \operatorname {v e c} (D).