クロネッカー積⊗の意味と計算例、性質について

1. クロネッカー積とは?
クロネッカー積(Kronecker product)とは、二つの行列から新しい行列を作る演算のことです。二つの行列 \( A \) と \( B \) のクロネッカー積は、単に要素ごとに積を取るのではなく、片方の行列の各要素をもう片方の行列全体に掛け合わせる という特殊な形をしています。


1.1. クロネッカー積の定義
行列 \( A \)(サイズ \( m \times n \))と行列 \( B \)(サイズ \( p \times q \))に対して、クロネッカー積 \( A \otimes B \) は次のように定義されます。
\[ 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} \]
つまり、行列 \( A \) の各要素を、行列 \( B \) 全体に掛けたブロック行列になります。結果として得られる行列のサイズは \( (m \cdot p) \times (n \cdot q) \) になります。
1.2. 具体例
例えば、以下のような \( 2 \times 2 \) 行列 \( A \) と \( B \) があったとします。
\[ A = \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix}, \quad B = \begin{bmatrix} 0 & 5 \\ 6 & 7 \end{bmatrix} \]
これらのクロネッカー積 \( A \otimes B \) を計算すると、
\[\begin{align*} A \otimes B &= \begin{bmatrix} 1 \cdot B & 2 \cdot B \\ 3 \cdot B & 4 \cdot B \end{bmatrix} \\ &=\begin{bmatrix} 0 & 5 & 0 & 10 \\ 6 & 7 & 12 & 14 \\ 0 & 15 & 0 & 20 \\ 18 & 21 & 24 & 28 \end{bmatrix} \end{align*}\]
となります。
2. クロネッカー積の性質
2.1. スカラー倍とクロネッカー積の分配性の証明
\[ (kA) \otimes B = A \otimes (kB) = k (A \otimes B) \]
ただし、\( k \) はスカラー、\( A \) は \( m \times n \) の行列、\( B \) は \( p \times q \) の行列。
クロネッカー積の定義に従い、行列 \( A \) と \( B \) のクロネッカー積は、
\[ 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} \]
行列 \( A \) のすべての要素をスカラー \( k \) 倍すると、
\[ kA = \begin{bmatrix} k a_{11} & k a_{12} & \cdots & k a_{1n} \\ k a_{21} & k a_{22} & \cdots & k a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ k a_{m1} & k a_{m2} & \cdots & k a_{mn} \end{bmatrix} \]
この行列と \( B \) のクロネッカー積を求めると、
\[ (kA) \otimes B = \begin{bmatrix} (k a_{11}) B & (k a_{12}) B & \cdots & (k a_{1n}) B \\ (k a_{21}) B & (k a_{22}) B & \cdots & (k a_{2n}) B \\ \vdots & \vdots & \ddots & \vdots \\ (k a_{m1}) B & (k a_{m2}) B & \cdots & (k a_{mn}) B \end{bmatrix} \]
ここで、スカラー \( k \) は各ブロック行列に掛かるため、
\[ (kA) \otimes B = k \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} = k (A \otimes B) \]
したがって、
\[ (kA) \otimes B = k (A \otimes B) \]
が成り立つ。
同様に、\( B \) のすべての要素をスカラー \( k \) 倍すると、
\[ kB = \begin{bmatrix} k b_{11} & k b_{12} & \cdots & k b_{1q} \\ k b_{21} & k b_{22} & \cdots & k b_{2q} \\ \vdots & \vdots & \ddots & \vdots \\ k b_{p1} & k b_{p2} & \cdots & k b_{pq} \end{bmatrix} \]
この行列と \( A \) のクロネッカー積を求めると、
\[ A \otimes (kB) = \begin{bmatrix} a_{11} (kB) & a_{12} (kB) & \cdots & a_{1n} (kB) \\ a_{21} (kB) & a_{22} (kB) & \cdots & a_{2n} (kB) \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} (kB) & a_{m2} (kB) & \cdots & a_{mn} (kB) \end{bmatrix} \]
ここでもスカラー \( k \) は各ブロック行列に掛かるため、
\[ A \otimes (kB) = k \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} = k (A \otimes B) \]
したがって、
\[ A \otimes (kB) = k (A \otimes B) \]
が成り立つ。
\[ (kA) \otimes B = A \otimes (kB) = k (A \otimes B) \]
が成立することが証明された。
2.2. 結合法則
\[ (A \otimes B) \otimes C = A \otimes (B \otimes C) \] ここで、\( A \) は \( m \times n \) 行列、\( B \) は \( p \times q \) 行列、\( C \) は \( r \times s \) 行列とする。
まず、\( A \otimes B \) を計算すると、
\[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}\]
これに対して、さらにクロネッカー積を取ると、
\[(A \otimes B) \otimes C =\begin{bmatrix}(a_{11} B) \otimes C & (a_{12} B) \otimes C & \cdots & (a_{1n} B) \otimes C \\(a_{21} B) \otimes C & (a_{22} B) \otimes C & \cdots & (a_{2n} B) \otimes C \\\vdots & \vdots & \ddots & \vdots \\(a_{m1} B) \otimes C & (a_{m2} B) \otimes C & \cdots & (a_{mn} B) \otimes C\end{bmatrix}\]
クロネッカー積の性質より、
\[(a_{ij} B) \otimes C = a_{ij} (B \otimes C)\]
が成り立つので、
\[(A \otimes B) \otimes C =\begin{bmatrix}a_{11} (B \otimes C) & a_{12} (B \otimes C) & \cdots & a_{1n} (B \otimes C) \\a_{21} (B \otimes C) & a_{22} (B \otimes C) & \cdots & a_{2n} (B \otimes C) \\\vdots & \vdots & \ddots & \vdots \\a_{m1} (B \otimes C) & a_{m2} (B \otimes C) & \cdots & a_{mn} (B \otimes C)\end{bmatrix}\]
これは、\( A \) の各要素に \( B \otimes C \) を掛ける形になっており、まさに
\[A \otimes (B \otimes C)\]
の定義と一致する。
したがって、
\[(A \otimes B) \otimes C = A \otimes (B \otimes C)\]
が成り立つ。
2.3. 分配法則
\[ (A + B) \otimes C = A \otimes C + B \otimes C \]
\[ A \otimes (B + C) = A \otimes B + A \otimes C \]
2.3.1. $(A + B) \otimes C$の証明
\[ (A + B) \otimes C = A \otimes C + B \otimes C \]
ここで、\( A \) と \( B \) は同じサイズの行列(\( m \times n \))、\( C \) は \( p \times q \) 行列とする。
クロネッカー積の定義を使うと、
\[ (A + B) \otimes C = \begin{bmatrix} (a_{11} + b_{11})C & (a_{12} + b_{12})C & \cdots & (a_{1n} + b_{1n})C \\ (a_{21} + b_{21})C & (a_{22} + b_{22})C & \cdots & (a_{2n} + b_{2n})C \\ \vdots & \vdots & \ddots & \vdots \\ (a_{m1} + b_{m1})C & (a_{m2} + b_{m2})C & \cdots & (a_{mn} + b_{mn})C \end{bmatrix} \]
分配法則を適用すると、
\[ \begin{bmatrix} a_{11}C + b_{11}C & a_{12}C + b_{12}C & \cdots & a_{1n}C + b_{1n}C \\ a_{21}C + b_{21}C & a_{22}C + b_{22}C & \cdots & a_{2n}C + b_{2n}C \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1}C + b_{m1}C & a_{m2}C + b_{m2}C & \cdots & a_{mn}C + b_{mn}C \end{bmatrix} \]
これは \( A \otimes C + B \otimes C \) の定義と一致するため、
\[ (A + B) \otimes C = A \otimes C + B \otimes C \]
が成り立つ。
2.3.2. $A \otimes (B + C)$ の証明
\[ A \otimes (B + C) = A \otimes B + A \otimes C \] ただし、\( A \) は \( m \times n \) の行列、\( B \) と \( C \) はともに \( p \times q \) の行列であるとする。
[1]左辺をまず計算します。\( B \) と \( C \) の和を考えると、
\[ B + C = \begin{bmatrix} b_{11} + c_{11} & b_{12} + c_{12} & \cdots & b_{1q} + c_{1q} \\ b_{21} + c_{21} & b_{22} + c_{22} & \cdots & b_{2q} + c_{2q} \\ \vdots & \vdots & \ddots & \vdots \\ b_{p1} + c_{p1} & b_{p2} + c_{p2} & \cdots & b_{pq} + c_{pq} \end{bmatrix} \]
クロネッカー積を適用すると、
\[ A \otimes (B + C) = \begin{bmatrix} a_{11} (B + C) & a_{12} (B + C) & \cdots & a_{1n} (B + C) \\ a_{21} (B + C) & a_{22} (B + C) & \cdots & a_{2n} (B + C) \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} (B + C) & a_{m2} (B + C) & \cdots & a_{mn} (B + C) \end{bmatrix} \]
分配法則を適用すると、
\[ A \otimes (B + C) = \begin{bmatrix} a_{11} B + a_{11} C & a_{12} B + a_{12} C & \cdots & a_{1n} B + a_{1n} C \\ a_{21} B + a_{21} C & a_{22} B + a_{22} C & \cdots & a_{2n} B + a_{2n} C \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} B + a_{m1} C & a_{m2} B + a_{m2} C & \cdots & a_{mn} B + a_{mn} C \end{bmatrix} \]
[2]次に、右辺の計算をします。
\[ A \otimes B + A \otimes C = \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} a_{11} C & a_{12} C & \cdots & a_{1n} C \\ a_{21} C & a_{22} C & \cdots & a_{2n} C \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} C & a_{m2} C & \cdots & a_{mn} C \end{bmatrix} \]
成分ごとに加えると、
\[ A \otimes B + A \otimes C = \begin{bmatrix} a_{11} B + a_{11} C & a_{12} B + a_{12} C & \cdots & a_{1n} B + a_{1n} C \\ a_{21} B + a_{21} C & a_{22} B + a_{22} C & \cdots & a_{2n} B + a_{2n} C \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} B + a_{m1} C & a_{m2} B + a_{m2} C & \cdots & a_{mn} B + a_{mn} C \end{bmatrix} \]
これは、左辺 \( A \otimes (B + C) \) と一致する。
2.4. 単位行列とのクロネッカー積の証明
\[ I_m \otimes I_n = I_{mn} \]
ここで、\( I_m \) は \( m \times m \) の単位行列、\( I_n \) は \( n \times n \) の単位行列。
単位行列 \( I_m \) と \( I_n \) のクロネッカー積を考えると、
\[ I_m \otimes I_n = \begin{bmatrix} 1 \cdot I_n & 0 \cdot I_n & \cdots & 0 \cdot I_n \\ 0 \cdot I_n & 1 \cdot I_n & \cdots & 0 \cdot I_n \\ \vdots & \vdots & \ddots & \vdots \\ 0 \cdot I_n & 0 \cdot I_n & \cdots & 1 \cdot I_n \end{bmatrix} \]
これは、\( mn \times mn \) の単位行列 \( I_{mn} \) に一致するため、
\[ I_m \otimes I_n = I_{mn} \]
が成り立つ。
2.5. 混合積
混合積とは、行列のクロネッカー積と通常の行列積の間に成り立つ次の等式です:
\[ (A \otimes B)(C \otimes D) = (AC) \otimes (BD) \]
ただし、行列 \( A, B, C, D \) は以下のようなサイズの行列とします:
- \( A \) は \( m \times n \) 行列
- \( B \) は \( p \times q \) 行列
- \( C \) は \( n \times r \) 行列
- \( D \) は \( q \times s \) 行列
このとき、行列積 \( AC \) は \( m \times r \) の行列となり、\( BD \) は \( p \times s \) の行列になります。そのクロネッカー積 \( (AC) \otimes (BD) \) のサイズは \( (m \cdot p) \times (r \cdot s) \) となります。
まず、クロネッカー積の定義を思い出します。
\[ 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} \]
同様に、\( C \otimes D \) も次のように書けます:
\[ C \otimes D = \begin{bmatrix} c_{11} D & c_{12} D & \cdots & c_{1r} D \\ c_{21} D & c_{22} D & \cdots & c_{2r} D \\ \vdots & \vdots & \ddots & \vdots \\ c_{n1} D & c_{n2} D & \cdots & c_{nr} D \end{bmatrix} \]
行列積の定義に従い、各ブロックの積を求めます。
\[ (A \otimes B)(C \otimes D) = \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} c_{11} D & c_{12} D & \cdots & c_{1r} D \\ c_{21} D & c_{22} D & \cdots & c_{2r} D \\ \vdots & \vdots & \ddots & \vdots \\ c_{n1} D & c_{n2} D & \cdots & c_{nr} D \end{bmatrix} \]
この積は、ブロック行列の積の計算ルールに従い、
\[ \sum_{k=1}^{n} a_{ik} B c_{kj} D \]
となります。
各ブロック要素に着目すると、次のように変形できます。
\[ (A \otimes B)(C \otimes D) = \begin{bmatrix} \sum_{k} a_{1k} B c_{k1} D & \sum_{k} a_{1k} B c_{k2} D & \cdots & \sum_{k} a_{1k} B c_{kr} D \\ \sum_{k} a_{2k} B c_{k1} D & \sum_{k} a_{2k} B c_{k2} D & \cdots & \sum_{k} a_{2k} B c_{kr} D \\ \vdots & \vdots & \ddots & \vdots \\ \sum_{k} a_{mk} B c_{k1} D & \sum_{k} a_{mk} B c_{k2} D & \cdots & \sum_{k} a_{mk} B c_{kr} D \end{bmatrix} \]
この形は、通常の行列積 \( AC \) の要素 \( (AC)_{ij} = \sum_{k} a_{ik} c_{kj} \) を用いると、
\[ (A \otimes B)(C \otimes D) = \begin{bmatrix} (AC)_{11} B D & (AC)_{12} B D & \cdots & (AC)_{1r} B D \\ (AC)_{21} B D & (AC)_{22} B D & \cdots & (AC)_{2r} B D \\ \vdots & \vdots & \ddots & \vdots \\ (AC)_{m1} B D & (AC)_{m2} B D & \cdots & (AC)_{mr} B D \end{bmatrix} \]
これは、\( AC \) の各要素を \( BD \) に掛けたものと一致するため、
\[ (A \otimes B)(C \otimes D) = (AC) \otimes (BD) \]
が成立することが証明されました。
2.6. 転置とクロネッカー積
\[ (A \otimes B)^\top = A^\top \otimes B^\top \]
ここで、\( A \) は \( m \times n \) の行列、\( B \) は \( p \times q \) の行列とする。
クロネッカー積の定義に従うと、
\[ 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} \]
ここで、転置を取ると行と列が入れ替わるので、
\[ (A \otimes B)^\top = \begin{bmatrix} (a_{11} B)^\top & (a_{21} B)^\top & \cdots & (a_{m1} B)^\top \\ (a_{12} B)^\top & (a_{22} B)^\top & \cdots & (a_{m2} B)^\top \\ \vdots & \vdots & \ddots & \vdots \\ (a_{1n} B)^\top & (a_{2n} B)^\top & \cdots & (a_{mn} B)^\top \end{bmatrix} \]
スカラー \( a_{ij} \) に対して転置は分配可能なので、
\[ (A \otimes B)^\top = \begin{bmatrix} a_{11} B^\top & a_{21} B^\top & \cdots & a_{m1} B^\top \\ a_{12} B^\top & a_{22} B^\top & \cdots & a_{m2} B^\top \\ \vdots & \vdots & \ddots & \vdots \\ a_{1n} B^\top & a_{2n} B^\top & \cdots & a_{mn} B^\top \end{bmatrix} \]
次に、\( A^\top \) を求めると、
\[ A^\top = \begin{bmatrix} a_{11} & a_{21} & \cdots & a_{m1} \\ a_{12} & a_{22} & \cdots & a_{m2} \\ \vdots & \vdots & \ddots & \vdots \\ a_{1n} & a_{2n} & \cdots & a_{mn} \end{bmatrix} \]
これと \( B^\top \) のクロネッカー積を求めると、
\[ A^\top \otimes B^\top = \begin{bmatrix} a_{11} B^\top & a_{21} B^\top & \cdots & a_{m1} B^\top \\ a_{12} B^\top & a_{22} B^\top & \cdots & a_{m2} B^\top \\ \vdots & \vdots & \ddots & \vdots \\ a_{1n} B^\top & a_{2n} B^\top & \cdots & a_{mn} B^\top \end{bmatrix} \]
これは \( (A \otimes B)^\top \) の計算結果と一致するため、
\[ (A \otimes B)^\top = A^\top \otimes B^\top \]
が成り立つ。
2.7. 逆行列とクロネッカー積
クロネッカー積において、\( A \otimes B \) 、\( A \) と \( B \) が正則行列であるとき、その逆行列は
\[ (A \otimes B)^{-1} = A^{-1} \otimes B^{-1} \]
と表せる。
\( A \) を \( m \times m \) の正則行列、\( B \) を \( n \times n \) の正則行列とする。\( A \) と \( B \) がともに正則であれば、それぞれ逆行列 \( A^{-1} \) と \( B^{-1} \) が存在する。
まず、混合積を利用する。これは、適切なサイズの行列 \( A, B, C, D \) に対して、
\[ (A \otimes B)(C \otimes D) = (AC) \otimes (BD) \]
が成り立つことを示す。この性質を用いて、\( A^{-1} \) と \( B^{-1} \) をクロネッカー積の積として考える。
\( A \otimes B \) の逆行列として、\( A^{-1} \otimes B^{-1} \) を考えると、
\[ (A \otimes B)(A^{-1} \otimes B^{-1}) \]
を計算する。この混合積性質を用いると、
\[ (A \otimes B)(A^{-1} \otimes B^{-1}) = (A A^{-1}) \otimes (B B^{-1}) \]
となる。ここで、\( A A^{-1} = I_m \)(\( m \times m \) の単位行列)および \( B B^{-1} = I_n \)(\( n \times n \) の単位行列)なので、
\[ I_m \otimes I_n = I_{mn} \]
が成り立つ。したがって、
\[ (A \otimes B)(A^{-1} \otimes B^{-1}) = I_{mn} \]
となる。