ブロック行列の状態で逆行列を計算する

行列

行列を解析するときに、めちゃくちゃ必要になる知識がブロック行列の計算です。

行列を、列ベクトルが並んだもの、行ベクトルが並んだものとみなすのはもちろん、1列目や1行目を特別視する時にはブロック行列で考えていることになっているからです。

また行列を帰納法で解析するときの武器としてすこぶる役立つのがブロック行列です。

ブロック行列の中でも、2ブロックに分ける方法は基本的なのでよく使われます。

そこで、今回は、2×2ブロックからなる行列の逆行列を計算してみます。

2行2列の行列の逆行列

\(\begin{bmatrix} a & b \\ c & d \\ \end{bmatrix}\)

の行列で\(a,b,c,d\)がスカラー(実数または複素数)の場合の逆行列はよく知られているように、

\(\displaystyle \frac{1}{ad-bc}\begin{bmatrix} d & -b \\ -c & a \\ \end{bmatrix}\)となります。

\(ad-bc=0\)の時、逆行列はありません。

2行2列のブロック行列の逆行列

こんどは、\(A,B,C,D\)が行列である場合において、

\(\begin{bmatrix} A & B \\ C & D \\ \end{bmatrix}\)の逆行列を考えます。

注意すべきは、\(A,B,C,D\)が行列なので、\(AB=BA\)というような交換の法則が使えないところです。

どこかのブロック行列がゼロ行列の場合

いきなり逆行列を計算するのは面倒なので、\(A,B,C,D\)のどれかが\(O\)の場合から考えてみます。

\(O\)はすべての成分が0であるゼロ行列を表しています。

例えば\(C=O\)の場合で考えてみます。

もとめる逆行列を

\(\begin{bmatrix} X & Y \\ Z & W \\ \end{bmatrix}\)とします。

\(\begin{bmatrix} A & B \\ O & D \\ \end{bmatrix}\)\(\begin{bmatrix} X & Y \\ Z & W \\ \end{bmatrix}\)

=\(\begin{bmatrix} AX+BZ & AY+BW \\ DZ & DW \\ \end{bmatrix}\)

これが単位行列になるためには、

\(AX+BZ=E,DZ=O,AY+BW=O,DW=E\)である必要があります。

※ブロックの分割によっては\(AX\)の計算が不能な場合がありますが、ここではそれらはすべて計算できることが仮定されているとします。ここで\(E\)は単位行列です。

ここで\(D\)が逆行列を持っていたとしますと、\(DZ=O\)から\(Z=O\)が導かれます。

※\(D\)が逆行列を持たない場合は、\(\begin{bmatrix} A & B \\ O & D \\ \end{bmatrix}\)も逆行列を持ちません。

\(Z=O\)より、\(AX+BZ=AX\)ですから\(AX=E\)となり、\(A\)が逆行列を持っているとすると、\(X=A^{-1}\)である必要があります。

また、\(DW=E\)より、\(D\)は逆行列を持ち、\(W=D^{-1}\)である必要があります。

すると、\(AY+BW=AY+BD^{-1}=O\)から\(Y=-A^{-1}BD^{-1}\)が得られます。

これまでの式を要約すると、

\(\begin{bmatrix} X & Y \\ Z & W \\ \end{bmatrix}\)=\(\begin{bmatrix} A^{-1} & -A^{-1}BD^{-1} \\ O & D^{-1} \\ \end{bmatrix}\)

の関係が成立している必要があります。

逆に、

\(\begin{bmatrix} A & B \\ O & D \\ \end{bmatrix}\begin{bmatrix} A^{-1} & -A^{-1}BD^{-1} \\ O & D^{-1} \\ \end{bmatrix}=E\)

\(\begin{bmatrix} A^{-1} & -A^{-1}BD^{-1} \\ O & D^{-1} \\ \end{bmatrix}\begin{bmatrix} A & B \\ O & D \\ \end{bmatrix}=E\)

が確認できるので求めた行列は逆行列になっていることがわかります。

同様に、\(B=O\)の場合の時なども逆行列をもとめることができます。

ブロック行列のどこかがゼロ行列\(O\)の場合の逆行列をまとめると、次のようになります。

対角ブロック行列の場合です。

\(\begin{bmatrix} A & O \\ O & D \\ \end{bmatrix}^{-1}=\begin{bmatrix} A^{-1} & O \\ O & D^{-1} \\ \end{bmatrix}\)

三角ブロック行列の場合です。

\(\begin{bmatrix} A & O \\ C & D \\ \end{bmatrix}^{-1}=\begin{bmatrix} A^{-1} & O \\ -D^{-1}CA^{-1} & D^{-1} \\ \end{bmatrix}\)

\(\begin{bmatrix} A & B \\ O & D \\ \end{bmatrix}^{-1}=\begin{bmatrix} A^{-1} & -A^{-1}BD^{-1} \\ O & D^{-1} \\ \end{bmatrix}\)

\(A\)や\(D\)が\(O\)になっている場合は以下のようになります。この場合は、\(B\)や\(C\)が逆行列を持つ正方行列である必要があります。

\(\begin{bmatrix} O & B \\ C & O \\ \end{bmatrix}^{-1}=\begin{bmatrix} O & C^{-1} \\ B^{-1} & O \\ \end{bmatrix}\)

\(\begin{bmatrix} O & B \\ C & D \\ \end{bmatrix}^{-1}=\begin{bmatrix} -C^{-1}DB^{-1} & C^{-1} \\ B^{-1} & O \\ \end{bmatrix}\)

\(\begin{bmatrix} A & B \\ C & O \\ \end{bmatrix}^{-1}=\begin{bmatrix} O & C^{-1} \\ B^{-1} & -B^{-1}AC^{-1} \\ \end{bmatrix}\)

一般の場合

ブロック行列の中に\(O\)があればわりかし簡単に逆行列はわかりますが、そうでない場合は複雑な形になります。

結論を書くと下記のようになります。

\(\begin{bmatrix} A & B \\ C & D \\ \end{bmatrix}^{-1}=\begin{bmatrix} (A-BD^{-1}C)^{-1} & A^{-1}B(CA^{-1}B-D)^{-1} \\ D^{-1}C(BD^{-1}C-A)^{-1} & (D-CA^{-1}B){-1} \\ \end{bmatrix}\)

証明は、下記を示せばよいのですが、この計算だけでも行列計算に慣れていないと難しいものです。それに、この式がどこから導かれたのか釈然としないことにはなんだかわかったような気になりません。

\(\begin{bmatrix} A & B \\ C & D \\ \end{bmatrix}\begin{bmatrix} (A-BD^{-1}C)^{-1} & A^{-1}B(CA^{-1}B-D)^{-1} \\ D^{-1}C(BD^{-1}C-A)^{-1} & (D-CA^{-1}B)^{-1} \\ \end{bmatrix}=E\)

\(\begin{bmatrix} (A-BD^{-1}C)^{-1} & A^{-1}B(CA^{-1}B-D)^{-1} \\ D^{-1}C(BD^{-1}C-A)^{-1} & (D-CA^{-1}B)^{-1} \\ \end{bmatrix}\begin{bmatrix} A & B \\ C & D \\ \end{bmatrix}=E\)

まずは、下記の計算をしてみます。

\(\begin{bmatrix} (A-BD^{-1}C)^{-1} & A^{-1}B(CA^{-1}B-D)^{-1} \\ D^{-1}C(BD^{-1}C-A)^{-1} & (D-CA^{-1}B)^{-1} \\ \end{bmatrix}\begin{bmatrix} A & B \\ C & D \\ \end{bmatrix}=E\)

左上のブロックから計算します。使うのは結合法則、分配法則と、

\((XY)^{-1}=(Y^{-1})(X^{-1})\),\((X^{-1})^{-1}=X\)です。

掛ける順序に注意しながら計算します。

\((A-BD^{-1}C)^{-1}A+A^{-1}B(CA^{-1}B-D)^{-1}C\)

\(=(A^{-1}A-A^{-1}BD^{-1}C)^{-1}+(C^{-1}CA^{-1}BB^{-1}A-C^{-1}DB^{-1}A)^{-1}\)

\(=(E-A^{-1}BD^{-1}C)^{-1}+(E-C^{-1}DB^{-1}A)^{-1}\)

\(=(E-A^{-1}BD^{-1}C)^{-1}+A^{-1}BD^{-1}C(A^{-1}BD^{-1}C-E)^{-1}\)

\(=(E-A^{-1}BD^{-1}C)^{-1}-A^{-1}BD^{-1}C(E-A^{-1}BD^{-1}C)^{-1}\)

\(=(E-A^{-1}BD^{-1}C)(E-A^{-1}BD^{-1}C)^{-1}\)

\(=E\)

\((\cdots)^{-1}\)の中に行列を入れたり出したりして計算します。

ちょっとコツがいるのですが、他のブロックも似たように計算できて、逆行列の証明が完成します。

証明としてはこのようにひたすら計算することで完了しますが、初心にもどって地味に求めてみます。

行列は交換の法則が使えないので、なにかと計算い苦労するのですが、それでもやってやれないことはないです。特に難しい定理を使うこともなく、ひたすら行列の加減乗除(除は逆行列を掛ける意味)を計算するだけで求めてみます。

地味に逆行列を求める計算

\(\begin{bmatrix} A & B \\ C & D \\ \end{bmatrix}\)\(\begin{bmatrix} X & Y \\ Z & W \\ \end{bmatrix}\)

=\(\begin{bmatrix} AX+BZ & AY+BW \\ CX+DZ & CY+DW \\ \end{bmatrix}\)

=\(E\)より、

\(AX+BZ=E\)
\(CX+DZ=O\)

\(A^{-1},C^{-1}\)を左から掛けると

\(X+A^{-1}BZ=A^{-1}\)
\(X+C^{-1}DZ=O\)

辺々引いて

\((A^{-1}B-C^{-1}D)Z=A^{-1}\)

よって、

\(Z=(A^{-1}B-C^{-1}D)^{-1}A^{-1}\)
\(=(B-AC^{-1}D)^{-1}\)
\(=D^{-1}C(BD^{-1}C-A)^{-1}\)

\(Z\)が求まったので、\(X+C^{-1}DZ=O\)に代入すると

\(X=-C^{-1}DD^{-1}C(BD^{-1}C-A)^{-1}\)
\(=-(BD^{-1}C-A)^{-1}\)
\(=(A-BD^{-1}C)^{-1}\)

\(AY+BW=O\)
\(CY+DW=E\)

\(A^{-1},C^{-1}\)を左から掛けると

\(Y+A^{-1}BW=O\)
\(Y+C^{-1}DW=C^{-1}\)

辺々引いて\(Y\)を消去します。

\((A^{-1}B-C^{-1}D)W=-C^{-1}\)

よって

\(W=-(A^{-1}B-C^{-1}D)^{-1}C^{-1}\)

\(W=-(CA^{-1}B-D)^{-1}\)
\(=(D-CA^{-1}B)^{-1}\)

\(Y=-A^{-1}BW\)に\(W\)を代入すると

\(Y=-A^{-1}B(D-CA^{-1}B)^{-1}\)
\(=A^{-1}B(CA^{-1}B-D)^{-1}\)

よって、\(X,Y,Z,W\)が求められました。

上記をまとめると、

\(\begin{bmatrix} A & B \\ C & D \\ \end{bmatrix}^{-1}=\begin{bmatrix} (A-BD^{-1}C)^{-1} & A^{-1}B(CA^{-1}B-D)^{-1} \\ D^{-1}C(BD^{-1}C-A)^{-1} & (D-CA^{-1}B){-1} \\ \end{bmatrix}\)

途中の計算からわかるように、

\(Z=(B-AC^{-1}D)^{-1}\)
でもあるので、

\(\begin{bmatrix} A & B \\ C & D \\ \end{bmatrix}^{-1}=\begin{bmatrix} (A-BD^{-1}C)^{-1} &(C-DB^{-1}A)^{-1} \\ (B-AC^{-1}D)^{-1} & (D-CA^{-1}B)^{-1} \\ \end{bmatrix}\)

としても同じで、見かけ上はいろいろな書き方があります。

ただ、この場合\(B^{-1}\)や\(C^{-1}\)の存在が必要になるので少し一般性を失います。

工夫すれば、\(A\)と\(D-CA^{-1}B\)の正則性だけを前提として表した逆行列の公式もできます。

考え方(スマートでない解き方から学ぶ)

このページでは逆行列を導出する過程で、\(B^{-1}\)や\(C^{-1}\)をあたかも存在するかのように使っていますので、証明としてこの地味なやり方を使うのは欠陥となりますが、逆行列の形があるとしたらこうなるはずだろうと見込んで答えを絞り込む考え方はよく使われます。

また、問題が難しい時には、すこし簡単な例(特殊な場合)で解いてみて解き方の糸口をつかむ考え方もよく使われます。ここではブロック行列の一部がゼロ行列である場合を先に考えました。

地味であっても、一度証明(もどき)ができてしまえば、そこからより簡潔であったり、スマート(エレガント)な証明が見つかるものです。

理解をより深めるためには地味な解き方も一考の余地ありです。

コメント

タイトルとURLをコピーしました