Kronecker 積

本文的閱讀等級:高級

A=[a_{ij}] 為一 m\times n 階矩陣,B 為一 p\times q 階矩陣。Kronecker 積 A\otimes B (也稱為張量積,tensor product) 為 mp\times nq 階矩陣,定義如下:

A\otimes B=\begin{bmatrix}  a_{11}B&a_{12}B&\cdots&a_{1n}B\\    a_{21}B&a_{22}B&\cdots&a_{2n}B\\    \vdots&\vdots&\ddots&\vdots\\    a_{m1}B&a_{m2}B&\cdots&a_{mn}B\\    \end{bmatrix}

例如,

\begin{bmatrix}  1\\  2\\  3    \end{bmatrix}\otimes\begin{bmatrix}    1&2    \end{bmatrix}=\begin{bmatrix}    1&2\\    2&4\\    3&6    \end{bmatrix}

\begin{bmatrix}  1&0\\    0&1    \end{bmatrix}\otimes\begin{bmatrix}    1&2\\  3&4\\  5&6    \end{bmatrix}=\begin{bmatrix}    1&2&0&0\\    3&4&0&0\\    5&6&0&0\\    0&0&1&2\\    0&0&3&4\\  0&0&5&6  \end{bmatrix}

\begin{bmatrix}    1&2\\  3&4\\  5&6    \end{bmatrix}\otimes \begin{bmatrix}  1&0\\    0&1    \end{bmatrix}=\begin{bmatrix}    1&0&2&0\\    0&1&0&2\\    3&0&4&0\\    0&3&0&4\\    5&0&6&0\\  0&5&0&6  \end{bmatrix}

 
在線性代數中,Kronecker 積的主要用途在於便利表達矩陣方程式。設 X=\begin{bmatrix}    \mathbf{x}_1&\cdots&\mathbf{x}_n    \end{bmatrix}m\times n 階矩陣,\mathbf{x}_j\in\mathbb{C}^m,定義 \text{vec}(X) 為 下列 mn 維向量:

\text{vec}(X)=\begin{bmatrix}  \mathbf{x}_1\\    \mathbf{x}_2\\    \vdots\\    \mathbf{x}_{n}    \end{bmatrix}

矩陣方程式 AXB=C 可改寫成一般線性方程,如下:

(B^T\otimes A)\mathrm{vec}(X)=\mathrm{vec}(C)

B=[b_{ij}]n\times p 階,將上式展開並引用矩陣行向量,可得

(B^T\otimes A)\mathrm{vec}(X)=\begin{bmatrix}  b_{11}A&\cdots&b_{n1}A\\    \vdots&\ddots&\vdots\\    b_{1p}A&\cdots&b_{np}A    \end{bmatrix}\begin{bmatrix}    \mathbf{x}_1\\    \vdots\\    \mathbf{x}_n    \end{bmatrix}=\begin{bmatrix}    \mathbf{c}_1\\    \vdots\\    \mathbf{c}_p    \end{bmatrix}

乘開上式,對於 1\le j\le p

b_{1j}A\mathbf{x}_1+\cdots+b_{nj}A\mathbf{x}_n=\begin{bmatrix}  A\mathbf{x}_1&\cdots&A\mathbf{x}_n    \end{bmatrix}\begin{bmatrix}    b_{1j}\\    \vdots\\    b_{nj}    \end{bmatrix}=AX\mathbf{b}_j=\mathbf{c}_j

合併上面 p 個方程式,AX\begin{bmatrix}    \mathbf{b}_1&\cdots&\mathbf{b}_p    \end{bmatrix}=\begin{bmatrix}    \mathbf{c}_1&\cdots&\mathbf{c}_p    \end{bmatrix},證得 AXB=C

 
下面我們介紹 Kronecker 積的運算性質,及其特徵值、跡數、行列式、奇異值分解和矩陣秩。

 
乘法結合律、分配律與共軛轉置

(a1) A\otimes(B\otimes C)=(A\otimes B)\otimes C

(a2) (A\otimes B)^k=A^k\otimes B^k

(a3) A\otimes(B+C)=(A\otimes B)+(A\otimes C)

(a4) (A+B)\otimes C=(A\otimes C)+(B\otimes C)

(a5) (kA)\otimes B=A\otimes(kB)=k(A\otimes B)

(a6) (A\otimes B)^{\ast}=A^{\ast}\otimes B^{\ast}

上述性質皆可從定義直接計算得到。

 
混和乘積性質

ACBD 可乘,則

(A\otimes B)(C\otimes D)=(AC)\otimes(BD)

考慮上式左邊乘積,

\begin{bmatrix}  a_{11}B&\cdots&a_{1n}B\\    \vdots&\ddots&\vdots\\    a_{m1}B&\cdots&a_{mn}B    \end{bmatrix}\begin{bmatrix}    c_{11}D&\cdots&c_{1p}D\\    \vdots&\ddots&\vdots\\    c_{n1}D&\cdots&c_{np}D    \end{bmatrix}=\begin{bmatrix}    E_{11}&\cdots&E_{1p}\\    \vdots&\ddots&\vdots\\    E_{m1}&\cdots&E_{mp}    \end{bmatrix}

對於所有 i,jE 的第 (i,j) 分塊為

\displaystyle  E_{ij}=\sum_{k=1}^na_{ik}Bc_{kj}D=\left(\sum_{k=1}^na_{ik}c_{kj}\right)BD  =(AC)_{ij}(BD)=((AC)\otimes(BD))_{ij}

E=(AC)\otimes(BD)

 
AB 分別為 m 階和 n 階方陣,以下性質可由混和乘積性質導出。

(b1) (A\otimes I_n)(I_m\otimes B)=A\otimes B=(I_m\otimes B)(A\otimes I_n)

直接計算

(A\otimes I_n)(I_m\otimes B)=(AI_m)\otimes(I_nB)=A\otimes B

(I_m\otimes B)(A\otimes I_n)=(I_mA)\otimes(BI_n)=A\otimes B

(b2) 若 AB 為可逆矩陣,(A\otimes B)^{-1}=A^{-1}\otimes B^{-1}

同樣直接計算即得

(A\otimes B)(A^{-1}\otimes B^{-1})=(AA^{-1})\otimes(BB^{-1})=I_m\otimes I_n=I

(b3) 若 AB 為么正矩陣(unitary matrix),A^{\ast}=A^{-1}B^{\ast}=B^{-1},則 (A\otimes B)^{\ast}=(A\otimes B)^{-1}

利用性質 (a6) 與 (b2),

(A\otimes B)^{\ast}=A^{\ast}\otimes B^{\ast}=A^{-1}\otimes B^{-1}=(A\otimes B)^{-1}

 
特徵值、跡數與行列式

Am 階方陣,Bn 階方陣,且

A\mathbf{x}_i=\lambda_i\mathbf{x}_i,~~i=1,\ldots,m

B\mathbf{y}_j=\mu_j\mathbf{y}_j,~~j=1,\ldots,n

則以下關係成立:對於 i=1,\ldots,nj=1,\ldots,n

(A\otimes B)(\mathbf{x}_i\otimes\mathbf{y}_j)=\lambda_i\mu_j(\mathbf{x}_i\otimes\mathbf{y}_j)

(A\otimes I_n+I_m\otimes B)(\mathbf{x}_i\otimes\mathbf{y}_j)=(\lambda_i+\mu_j)(\mathbf{x}_i\otimes\mathbf{y}_j)

使用混和乘積性質及 (a5),

(A\otimes B)(\mathbf{x}_i\otimes\mathbf{y}_j)=(A\mathbf{x}_i)\otimes(B\mathbf{y}_j)=(\lambda_i\mathbf{x}_i)\otimes(\mu_j\mathbf{y}_j)=(\lambda_i\mu_j)(\mathbf{x}_i\otimes\mathbf{y}_j)

考慮 I_n\mathbf{y}_j=\mathbf{y}_jI_m\mathbf{x}_i=\mathbf{x}_i,再利用上述結果就有

(A\otimes I_n)(\mathbf{x}_i\otimes\mathbf{y}_j)=\lambda_i(\mathbf{x}_i\otimes\mathbf{y}_j)

(I_m\otimes B)(\mathbf{x}_i\otimes\mathbf{y}_j)=\mu_j(\mathbf{x}_i\otimes\mathbf{y}_j)

將二式相加,使用性質 (a4) 即證出第二個命題。

 
矩陣特徵值之和等於跡數,於是有

\displaystyle  \mathrm{trace}(A\otimes B)=\sum_{i=1}^m\sum_{j=1}^n\lambda_i\mu_j=\left(\sum_{i=1}^m\lambda_i\right)\left(\sum_{j=1}^n\mu_j\right)  =\mathrm{trace}A\cdot\mathrm{trace}B

特徵值之積等於行列式,故

\displaystyle  \det(A\otimes B)=\prod_{\substack{1\le i\le m\\1\le j\le n}}\lambda_i\mu_j=\left(\prod_{i=1}^m\lambda_i\right)^n\left(\prod_{j=1}^n\mu_j\right)^m=(\det A)^n(\det B)^m

 
奇異值與矩陣秩

考慮奇異值分解 A=U\Sigma V^{\ast}B=XSY^{\ast},且 U^{\ast}=U^{-1}V^{\ast}=V^{-1}X^{\ast}=X^{-1}Y^{\ast}=Y^{-1} (見“奇異值分解(SVD)”),\SigmaS 為對角矩陣。利用混和乘積性質與 (a6) 可得

A\otimes B=( U\Sigma V^{\ast})\otimes(XSY^{\ast})=(U\otimes X)(\Sigma\otimes S)(V\otimes Y)^{\ast}

由性質 (b3) 得知 (U\otimes X)^{\ast}=(U\otimes X)^{-1}(V\otimes Y)^{\ast}=(V\otimes Y)^{-1},故 (U\otimes X)(\Sigma\otimes S)(V\otimes Y)^{\ast} 即為 A\otimes B 的奇異值分解。若 \mathrm{rank}A=p\mathrm{rank}B=q,則 Ap 個非零奇異值 \sigma_ii=1,\ldots,p,且 Bq 個非零奇異值 s_jj=1,\ldots,q,推知 A\otimes B,亦即 \Sigma\otimes Spq 個非零奇異值 \sigma_is_ji=1,\ldots,pj=1,\ldots,q,也就推論出

\mathrm{rank}(A\otimes B)=\mathrm{rank}A\cdot\mathrm{rank}B

Advertisements
本篇發表於 線性方程, 線性代數專欄 並標籤為 , , 。將永久鏈結加入書籤。

2 則回應給 Kronecker 積

  1. wayne 說道:

    老師好
    再算(A Kronecker B)反矩陣的時候 上文有提到是寫成A^-1 Kronecker B^-1
    不知道除了這種形式表示以外 還有沒有其他表示方法 或 求反矩陣的方法
    譬如說 A 和 B 都是2×2 A Kronecker B 會變成4×4
    可以分成4塊看 可能左上角的2×2是右下角2×2的幾倍 右上角的2X2是左下角2×2的幾倍
    因為之間有一些關係 所以有新的算法

    我只是好奇不知道有沒有其他算法 謝謝

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s