Pseudo Theory of Everything

データサイエンス初心者物理学徒の奮闘記

行列の分割と逆行列

現在、数人で「ガウス過程と機械学習」を読んでいます。本文中では、付録にある「行列の分解と逆行列」の公式を何度も用いて式展開をします。この付録では行列のブロック行列分解と、そのブロック化したベースで行列の対角化を扱っています。一方、多用されているものの、導出が載ってません。ご存知の方も多いと思いますが、そこまで重い計算でないので今回これを扱います。

今回の逆行列を知りたいターゲットは

\begin{align} {\it A} = \begin{pmatrix} {\it A_1} & {\it A_2} \\ {\it A_3} & {\it A_4} \end{pmatrix} \end{align}

のようにブロック行列に分割した行列です。

 

 

1 基本戦略

基本戦略は以下の逆行列の公式を用います。

\begin{cases} \begin{pmatrix} {\it M_1} & O \\ O & {\it M_4} \end{pmatrix}^{-1} = \begin{pmatrix} {\it M_1^{-1}} & O \\ O & {\it M_4^{-1}} \end{pmatrix} \\ \begin{pmatrix} {\it I} & {\it M_2} \\ O & {\it I} \end{pmatrix}^{-1} = \begin{pmatrix} {\it I} & -{\it M_2} \\ O & {\it I} \end{pmatrix} \\ \begin{pmatrix} {\it I} & O \\ {\it M_3} & {\it I} \end{pmatrix}^{-1} = \begin{pmatrix} {\it I} & O \\ -{\it M_3} & {\it I} \end{pmatrix} \end{cases}

上記の公式が逆行列になっていることは各々の行列の掛け算したらわかります。ブロック化した行列を上記逆行列の公式の使える形に持って行くのが本記事の基本戦略です。

2 ブロック行列化した行列の逆行列

基本戦略通り逆行列の公式が使えるようにブロックで三角行列を作ります。ブロックで三角行列に分割します。

\begin{align} {\it A} = \begin{pmatrix} {\it A_1} & {\it A_2} \\ {\it A_3} & {\it A_4} \end{pmatrix} &= \begin{pmatrix} {\it I} & O \\ {\it X_3} & {\it I} \end{pmatrix} \begin{pmatrix} {\it X_1} & {\it X_2} \\ 0 & {\it X_4} \end{pmatrix} \nonumber\\ &= \begin{pmatrix} {\it X_1} & {\it X_2} \\ {\it X_3 X_1} & {\it X_3 X_2 + X_4} \end{pmatrix} \end{align}

両辺を比べて \({\it X_1 = A_1,\ \it X_2 = A_2,\ X_3 = A_3 A_1^{-1},\ X_4 = A_4 - A_3 A_1^{-1} A_2}\) であることがわかります。仮においた変数を書き直すことで行列が分解できます。

\begin{align} \label{eq1} {\it A} = \begin{pmatrix} {\it A_1} & {\it A_2} \\ {\it A_3} & {\it A_4} \end{pmatrix} = \begin{pmatrix} {\it I} & O \\ {\it A_3 A_1^{-1}} & {\it I} \end{pmatrix} \begin{pmatrix} {\it A_1} & {\it A_2} \\ 0 & {\it A_4 - A_3 A_1^{-1} A_2} \end{pmatrix} \end{align}

省略のため \({\it A_4' \equiv A_4 - A_3 A_1^{-1} A_2}\) とします。一番右の行列をさらに分解します。

\begin{align} \label{eq2} \begin{pmatrix} {\it A_1} & {\it A_2} \\ O & {\it A_4'} \end{pmatrix} &= \begin{pmatrix} {\it Y_1} & O \\ O & {\it Y_4} \end{pmatrix} \begin{pmatrix} {\it I} & {\it Y_2} \\ O & {\it I} \end{pmatrix} \nonumber\\ & = \begin{pmatrix} {\it Y_1} & {\it Y_1 Y_2} \\ O & {\it Y_4} \end{pmatrix} \end{align}

同様に両辺見比べると \({\it Y_1 = A_1,\ Y_2 = A_1^{-1} A_2,\ Y_4 = A_4'}\) であることがわかります。式 3 と式 4 をまとめると

\begin{align} {\it A} = \begin{pmatrix} {\it A_1} & {\it A_2} \\ {\it A_3} & {\it A_4} \end{pmatrix} = \begin{pmatrix} {\it I} & O \\ {\it A_3 A_1^{-1}} & {\it I} \end{pmatrix} \begin{pmatrix} {\it A_1} & O \\ O & {\it A_4'} \end{pmatrix} \begin{pmatrix} {\it I} & {\it A_1^{-1} A_2} \\ O & {\it I} \end{pmatrix} \end{align}

であることがわかりました。両辺の逆元を取ることで基本戦略の公式を使えます。展開をすると

\begin{align} {\it A}^{-1} = \begin{pmatrix} {\it A_1} & {\it A_2} \\ {\it A_3} & {\it A_4} \end{pmatrix}^{-1} &= \begin{pmatrix} {\it I} & {\it A_1^{-1} A_2} \\ O & {\it I} \end{pmatrix}^{-1} \begin{pmatrix} {\it A_1} & O \\ O & {\it A_4'} \end{pmatrix}^{-1} \begin{pmatrix} {\it I} & O \\ {\it A_3 A_1^{-1}} & {\it I} \end{pmatrix}^{-1} \nonumber \\ &= \begin{pmatrix} {\it I} & - {\it A_1^{-1} A_2} \\ O & {\it I} \end{pmatrix} \begin{pmatrix} {\it A_1}^{-1} & O \\ O & {\it A_4'}^{-1} \end{pmatrix} \begin{pmatrix} {\it I} & O \\ - {\it A_3 A_1^{-1}} & {\it I} \end{pmatrix} \nonumber \\ &= \begin{pmatrix} {\it A_1^{-1}} & - {\it A_1^{-1} A_2 A_4'^{-1}} \\ 0 & {\it A_4'^{-1}} \end{pmatrix} \begin{pmatrix} {\it I} & O \\ - {\it A_3 A_1^{-1}} & {\it I} \end{pmatrix} \nonumber \\ &= \begin{pmatrix} {\it A_1^{-1} + A_1^{-1} A_2 A_4'^{-1} A_3 A_1^{-1}} & - {\it A_1^{-1} A_2 A_4'^{-1}} \\ - {\it A_4'^{-1} A_3 A_1^{-1}} & {\it A_4'^{-1}} \end{pmatrix} \end{align}

であることがわかりました( \({\it A_4' \equiv A_4 - A_3 A_1^{-1} A_2}\) )。

分解のパターンにはもう1パターンあります。具体的には行列の順序を変えて

\begin{align} A = \begin{pmatrix} {\it I} & \ast \\ O & {\it I} \end{pmatrix} \begin{pmatrix} \ast & O \\ O & \ast \end{pmatrix} \begin{pmatrix} {\it I} & O \\ \ast & {\it I} \end{pmatrix} \end{align}

の形に行列を分割します。

\begin{align} {\it A} = \begin{pmatrix} {\it A_1} & {\it A_2} \\ {\it A_3} & {\it A_4} \end{pmatrix} &= \begin{pmatrix} {\it I} & {\it X_2} \\ 0 & {\it I} \end{pmatrix} \begin{pmatrix} {\it X_1} & 0 \\ {\it X_3} & {\it X_4} \end{pmatrix} \nonumber\\ &= \begin{pmatrix} {\it X_1 + X_2 X_3} & {\it X_2 X_4} \\ {\it X_3} & {\it X_4} \end{pmatrix} \end{align}

両辺を比べて \({\it X_1 = A_1 - A_2 A_4^{-1} A_3, X_2 = A_2 A_4^{-1}, X_3 = A_3, X_4 = A_4}\) であることがわかります。仮においた変数を書き直すことで行列が分解できます。

\begin{align} {\it A} = \begin{pmatrix} {\it A_1} & {\it A_2} \\ {\it A_3} & {\it A_4} \end{pmatrix} = \begin{pmatrix} {\it I} & {\it A_2 A_4^{-1}} \\ 0 & {\it I} \end{pmatrix} \begin{pmatrix} A_1 - A_2 A_4^{-1} A_3 & 0 \\ {\it A_3} & {\it A_4} \end{pmatrix} \end{align}

省略のため \({\it A_1' \equiv A_1 - A_2 A_4^{-1} A_3}\) とします。一番右の行列をさらに分解します。

\begin{align} \begin{pmatrix} {\it A_1'} & 0 \\ {\it A_3} & {\it A_4} \end{pmatrix} &= \begin{pmatrix} {\it Y_1} & O \\ O & {\it Y_4} \end{pmatrix} \begin{pmatrix} {\it I} & 0 \\ {\it Y_3} & {\it I} \end{pmatrix} \nonumber\\ & = \begin{pmatrix} {\it Y_1} & 0 \\ {\it Y_4 Y_3} & {\it Y_4} \end{pmatrix} \end{align}

同様に両辺見比べると \({\it Y_1 = A_1',\ Y_3 = A_4^{-1} A_3,\ Y_4 = A_4}\) であることがわかります。式 9 と式 10 をまとめると

\begin{align} {\it A} = \begin{pmatrix} {\it A_1} & {\it A_2} \\ {\it A_3} & {\it A_4} \end{pmatrix} = \begin{pmatrix} {\it I} & {\it A_2 A_4^{-1}} \\ 0 & {\it I} \end{pmatrix} \begin{pmatrix} {\it A_1'} & O \\ O & {\it A_4} \end{pmatrix} \begin{pmatrix} {\it I} & 0 \\ {\it A_4^{-1} A_3} & {\it I} \end{pmatrix} \end{align}

であることがわかりました。両辺の逆元を取ることで基本戦略の公式を使えます。展開をすると

\begin{align} {\it A}^{-1} = \begin{pmatrix} {\it A_1} & {\it A_2} \\ {\it A_3} & {\it A_4} \end{pmatrix}^{-1} &= \begin{pmatrix} {\it I} & 0 \\ {\it A_4^{-1} A_3} & {\it I} \end{pmatrix}^{-1} \begin{pmatrix} {\it A_1'} & O \\ O & {\it A_4} \end{pmatrix}^{-1} \begin{pmatrix} {\it I} & {\it A_2 A_4^{-1}} \\ 0 & {\it I} \end{pmatrix}^{-1} \nonumber \\ &= \begin{pmatrix} {\it A_1'^{-1}} & - {\it A_1'^{-1} A_2 A_4^{-1}} \\ - {\it A_4^{-1} A_3 A_1'^{-1}} & {\it A_4^{-1} + A_4^{-1} A_3 A_1'^{-1} A_2 A_4^{-1}} \end{pmatrix} \end{align}

であることがわかりました( \({\it A_1'} \equiv {\it A_1 - A_2 A_4^{-1} A_3}\) )。

以上の内容では、当然逆元を取る行列は正則行列である要請があります。

3 まとめ

 

3.1 パターン1

\({\it A_4' \equiv A_4 - A_3 A_1^{-1} A_2}\) として

\begin{align} \begin{pmatrix} {\it A_1} & {\it A_2} \\ {\it A_3} & {\it A_4} \end{pmatrix}^{-1} = \begin{pmatrix} {\it A_1^{-1} + A_1^{-1} A_2 A_4'^{-1} A_3 A_1^{-1}} & - {\it A_1^{-1} A_2 A_4'^{-1}} \\ - {\it A_4'^{-1} A_3 A_1^{-1}} & {\it A_4'^{-1}} \end{pmatrix} \end{align}

3.2 パターン2

\({\it A_1'} \equiv {\it A_1 - A_2 A_4^{-1} A_3}\) として

\begin{align} \begin{pmatrix} {\it A_1} & {\it A_2} \\ {\it A_3} & {\it A_4} \end{pmatrix}^{-1} = \begin{pmatrix} {\it A_1'^{-1}} & - {\it A_1'^{-1} A_2 A_4^{-1}} \\ - {\it A_4^{-1} A_3 A_1'^{-1}} & {\it A_4^{-1} + A_4^{-1} A_3 A_1'^{-1} A_2 A_4^{-1}} \end{pmatrix} \end{align}