Kronecker积

數學上，**克羅內克積**（英語：Kronecker product）是兩個任意大小的矩陣間的運算，表示為⊗。簡單地說，就是將前一個矩陣的每個元素乘上後一個完整的矩陣。克羅內克積是外積從向量到矩陣的推廣，也是張量積在標準基下的矩陣表示。

儘管沒有明顯證據證明德國數學家利奧波德・克羅內克是第一個定義並使用這一運算的人，**克羅內克積**還是以其名字命名。在歷史上，**克羅內克積**曾以 Johann Georg Zehfuss 名字命名為 Zehfuss 矩陣。

## 定義

如果 _A_ 是一個 _m_ × _n_ 的矩陣，而 _B_ 是一個 _p_ × _q_ 的矩陣，**克羅內克積** $A\otimes B$ 則是一個 _mp_ × _nq_ 的分塊矩陣

　
: $A\otimes B={\begin{bmatrix}a_{11}B&\cdots &a_{1n}B\\\vdots &\ddots &\vdots \\a_{m1}B&\cdots &a_{mn}B\end{bmatrix}}.$

更具體地可表示為

　
: $A\otimes B={\begin{bmatrix}a_{11}b_{11}&a_{11}b_{12}&\cdots &a_{11}b_{1q}&\cdots &\cdots &a_{1n}b_{11}&a_{1n}b_{12}&\cdots &a_{1n}b_{1q}\\a_{11}b_{21}&a_{11}b_{22}&\cdots &a_{11}b_{2q}&\cdots &\cdots &a_{1n}b_{21}&a_{1n}b_{22}&\cdots &a_{1n}b_{2q}\\\vdots &\vdots &\ddots &\vdots &&&\vdots &\vdots &\ddots &\vdots \\a_{11}b_{p1}&a_{11}b_{p2}&\cdots &a_{11}b_{pq}&\cdots &\cdots &a_{1n}b_{p1}&a_{1n}b_{p2}&\cdots &a_{1n}b_{pq}\\\vdots &\vdots &&\vdots &\ddots &&\vdots &\vdots &&\vdots \\\vdots &\vdots &&\vdots &&\ddots &\vdots &\vdots &&\vdots \\a_{m1}b_{11}&a_{m1}b_{12}&\cdots &a_{m1}b_{1q}&\cdots &\cdots &a_{mn}b_{11}&a_{mn}b_{12}&\cdots &a_{mn}b_{1q}\\a_{m1}b_{21}&a_{m1}b_{22}&\cdots &a_{m1}b_{2q}&\cdots &\cdots &a_{mn}b_{21}&a_{mn}b_{22}&\cdots &a_{mn}b_{2q}\\\vdots &\vdots &\ddots &\vdots &&&\vdots &\vdots &\ddots &\vdots \\a_{m1}b_{p1}&a_{m1}b_{p2}&\cdots &a_{m1}b_{pq}&\cdots &\cdots &a_{mn}b_{p1}&a_{mn}b_{p2}&\cdots &a_{mn}b_{pq}\end{bmatrix}}.$

我們可以更緊湊地寫為 $(A\otimes B)_{p(r-1)+v,q(s-1)+w}=a_{rs}b_{vw}$

### 例子

　
: ${\begin{bmatrix}1&2\\3&1\\\end{bmatrix}}\otimes {\begin{bmatrix}0&3\\2&1\\\end{bmatrix}}={\begin{bmatrix}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{bmatrix}}={\begin{bmatrix}0&3&0&6\\2&1&4&2\\0&9&0&3\\6&3&2&1\end{bmatrix}}$ .

## 特性

### 雙線性和結合律

**克羅內克積**是張量積的特殊形式，因此滿足雙線性與結合律：

　
: $A\otimes (B+C)=A\otimes B+A\otimes C\qquad {\mbox{(if }}B{\mbox{ and }}C{\mbox{ have the same size)}},$

　
: $(A+B)\otimes C=A\otimes C+B\otimes C\qquad {\mbox{(if }}A{\mbox{ and }}B{\mbox{ have the same size)}},$

　
: $(kA)\otimes B=A\otimes (kB)=k(A\otimes B),$

　
: $(A\otimes B)\otimes C=A\otimes (B\otimes C),$

其中，_A_, _B_ 和 _C_ 是矩陣，而 _k_ 是常數。

**克羅內克積**不符合交換律：通常，_A_ ⊗ _B_ 不同於 _B_ ⊗ _A_。 

_A_ ⊗ _B_ 和 _B_ ⊗ _A_ 是排列等價的，也就是說，存在排列矩陣 _P_ 和 _Q_，使得

　
: $A\otimes B=P\,(B\otimes A)\,Q.$

如果 _A_ 和 _B_ 是方塊矩陣，則 _A_ ⊗ _B_ 和 _B_ ⊗ _A_ 甚至是排列相似的，也就是說，我們可以取 _P_ = _Q_T。

### 混合乘積性質

如果 **A**、**B**、**C** 和 **D** 是四個矩陣，且矩陣乘積 **AC** 和 **BD** 存在，那麼：

　
: $(\mathbf {A} \otimes \mathbf {B} )(\mathbf {C} \otimes \mathbf {D} )=\mathbf {AC} \otimes \mathbf {BD} .$

這個性質稱為「混合乘積性質」，因為它混合了通常的矩陣乘積和克羅內克積。於是可以推出，**A** $\,\otimes \,$ **B** 是可逆的若且唯若 **A** 和 **B** 是可逆的，其逆矩陣為：

　
: $(\mathbf {A} \otimes \mathbf {B} )^{-1}=\mathbf {A} ^{-1}\otimes \mathbf {B} ^{-1}.$

### 克羅內克和

如果 **A** 是 _n_ × _n_ 矩陣，**B** 是 _m_ × _m_ 矩陣， $\mathbf {I} _{k}$ 表示 _k_ × _k_ 單位矩陣，那麼我們可以定義克羅內克和 $\oplus $ 為：

　
: $\mathbf {A} \oplus \mathbf {B} =\mathbf {A} \otimes \mathbf {I} _{m}+\mathbf {I} _{n}\otimes \mathbf {B} .$

### 譜

假設 **A** 和 **B** 分別是大小為 _n_ 和 _q_ 的方塊矩陣。設 λ1，……，λn 為 **A** 的特徵值，μ1，……，μq 為 **B** 的特徵值。那麼 **A** $\,\otimes \,$ **B** 的特徵值為：

　
: $\lambda _{i}\mu _{j},\qquad i=1,\ldots ,n,\,j=1,\ldots ,q.$

於是可以推出，兩個矩陣的克羅內克積的跡和行列式為：

　
: $\operatorname {tr} (\mathbf {A} \otimes \mathbf {B} )=\operatorname {tr} \mathbf {A} \,\operatorname {tr} \mathbf {B} \quad {\mbox{and}}\quad \det(\mathbf {A} \otimes \mathbf {B} )=(\det \mathbf {A} )^{q}(\det \mathbf {B} )^{n}.$

### 奇異值

如果 **A** 和 **B** 是長方矩陣，那麼我們可以考慮它們的奇異值。假設 **A** 有 _r_**A** 個非零的奇異值，它們是：

　
: $\sigma _{\mathbf {A} ,i},\qquad i=1,\ldots ,r_{\mathbf {A} }.$

類似地，設 **B** 的非零奇異值為：

　
: $\sigma _{\mathbf {B} ,i},\qquad i=1,\ldots ,r_{\mathbf {B} }.$

那麼克羅內克積 **A** $\,\otimes \,$ **B** 有 _r_**A**_r_**B** 個非零奇異值，它們是：

　
: $\sigma _{\mathbf {A} ,i}\sigma _{\mathbf {B} ,j},\qquad i=1,\ldots ,r_{\mathbf {A} },\,j=1,\ldots ,r_{\mathbf {B} }.$

由於一個矩陣的秩等於非零奇異值的數目，因此我們有：

　
: $\operatorname {rank} (\mathbf {A} \otimes \mathbf {B} )=\operatorname {rank} \mathbf {A} \,\operatorname {rank} \mathbf {B} .$

### 與抽象張量積的關係

矩陣的克羅內克積對應於線性映射的抽象張量積。特別地，如果向量空間 _V_、_W_、_X_ 和 _Y_ 分別具有基 {v1, ... , vm}、 {w1, ... , wn}、{x1, ... , xd} 和 {y1, ... , ye}，且矩陣 _A_ 和 _B_ 分別在恰當的基中表示線性轉換 _S_ : _V_ → _X_ 和 _T_ : _W_ → _Y_，那麼矩陣 _A_ ⊗ _B_ 表示兩個映射的張量積 _S_ ⊗ _T_ : _V_ ⊗ _W_ → _X_ ⊗ _Y_，關於 _V_ ⊗ _W_ 的基 {v1 ⊗ w1, v1 ⊗ w2, ... , v2 ⊗ w1, ... , vm ⊗ wn} 和 _X_ ⊗ _Y_ 的類似基。

### 與圖的乘積的關係

兩個圖的鄰接矩陣的克羅內克積是它們的張量積圖的鄰接矩陣。兩個圖的鄰接矩陣的克羅內克和，則是它們的笛卡兒積圖的鄰接矩陣。參見第 96 個練習的答案。

### 轉置

**克羅內克積**轉置運算符合分配律：

　
: $(A\otimes B)^{T}=A^{T}\otimes B^{T}.$

## 矩陣方程式

克羅內克積可以用來為一些矩陣方程式得出方便的表示法。例如，考慮方程式 _AXB_ = _C_，其中 _A_、_B_ 和 _C_ 是給定的矩陣，_X_ 是未知的矩陣。我們可以把這個方程式重寫為

　
: $(B^{T}\otimes A)\,\operatorname {vec} (X)=\operatorname {vec} (AXB)=\operatorname {vec} (C).$

這樣，從克羅內克積的性質可以推出，方程式 _AXB_ = _C_ 具有唯一的解，若且唯若 _A_ 和 _B_ 是非奇異矩陣。（Horn & Johnson 1991，Lemma 4.3.1）.

在這裡，vec (_X_) 表示矩陣 _X_ 的向量化，它是把 _X_ 的所有列堆起來所形成的列向量。

如果把 _X_ 的行堆起來，形成列向量 _x_，則 $AXB$ 也可以寫為 $(A\otimes B^{T})x$ （Jain 1989，2.8 block Matrices and Kronecker Products）。

## 參考文獻

* Horn, Roger A.; Johnson, Charles R., Topics in Matrix Analysis, Cambridge University Press, 1991, ISBN 0-521-46713-6 .
* Jain, Anil K., Fundamentals of Digital Image Processing, Prentice Hall, 1989, ISBN 0-13-336165-9 .

## 外部連結

* Kronecker product. PlanetMath.
* MathWorld Matrix Direct Product （頁面存檔備份，存於網際網路檔案館）