克羅內克積

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

儘管沒有明顯證據證明德國數學家利奧波德·克羅內克是第一個定義並使用這一運算的人，克羅內克積還是以其名字命名。在歷史上，克羅內克積曾以約翰·格奧爾格·澤哈斯（Johann Georg 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} <pre> 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} </pre> \end{bmatrix}.$$

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

### 例子

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

## 特性

### 雙線性和結合律

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

$$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 = QT。

### 混合乘積性質

如果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有rA個非零的奇異值，它們是：

$$\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有rArB個非零奇異值，它們是：

$$\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.

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

如果把X的行堆起來，形成列向量x，則$AXB$也可以寫為$(A \otimes B^{T})x$ Jain。

## 外部連結

- MathWorld Matrix Direct Product