ブロック行列の逆行列

ある本でブロック行列で表現された行列の逆行列を目にした。証明は簡単で、掛けて単位行列になることを確認すればよい。しかし、どのように逆行列を導いたかは書かれておらず、長い期間分からないままだった。このままでは必要になるたびに逆行列を解説しているテキストを探さねばならず、しかも取り扱っているテキストは少ないため非常に不便である。たまたま授業の準備で基本変形を調べていた時に導出法に思い至った。

ブロック行列 X=(ABCD) の行列式と逆行列を求める。もちろん X の逆行列を考えるからには X は正方行列である。

A が正則行列の場合

まず、A が正則行列の場合を考える。このとき D は正則であるかどうかは分からないが、正方行列ではある。B,C は正方行列とは限らない。通常の逆行列を求める時をイメージすると次のように基本変形される。

(ABCD)(ECD)(EO)(EOE)(EOOE)

上の手順を具体化する。

(A1OOE)(ABCD)=(EA1BCD)(EOCE)(EA1BCD)=(EA1BODCA1B)

ここで、(EOCE)(A1OOE)X=(EA1BODCA1B) の行列式を取って、|X|=|A||DCA1B| を得る。

基本変形を更に進めるためには F=DCA1B が正則であることを要請する。

(EOOF1)(EA1BOF)=(EA1BOE)(EA1BOE)(EA1BOE)=(EOOE)

上の基本変形をまとめて逆行列を求める。

X1=(EA1BOE)(EOOF1)(EOCE)(A1OOE)=(A1A1BF1CA1A1BF1F1CA1F1)

実際に計算してみると X1X=E が確認できるだろう。結果を次にまとめる。

ブロック行列で表された正方行列 X=(ABCD) について、A を正則行列とし、F=DCA1B とすると次が成り立つ。
(1) |X|=|A||F|
(2) F が正則な場合、X1=(A1A1BF1CA1A1BF1F1CA1F1)

(1) より、F が正則でない場合は X は正則でないことが分かる。

B が正則行列の場合

各ブロックについて正則性を仮定したバージョンが存在する。ここでは B が正則行列の場合を考える。この時、C は正方行列であるが、A,D は正方行列とは限らない。後の都合で G=CDB1A と置いておく。

(OEEO)(ABCD)=(CDAB)(EOOB1)(CDAB)=(CDB1AE)(EDOE)(CDB1AE)=(GOB1AE)

(EDOE)(EOOB1)(OEEO)X=(GOB1AE) から |X|=|B||G| を得る。さらに基本変形を続ける。

(G1OOE)(GOB1AE)=(EOB1AE)(EOB1AE)(EOB1AE)=(EOOE)

基本変形をまとめると

X1=(EOB1AE)(G1OOE)(EDOE)(EOOB1)(OEEO)=(G1DB1G1B1AG1DB1+B1B1AG1)

結果を次にまとめる。

ブロック行列で表された正方行列 X=(ABCD) について、B を正則行列とし、G=CDB1A とすると次が成り立つ。
(1) |X|=|B||G|
(2) G が正則な場合、X1=(G1DB1G1B1AG1DB1+B1B1AG1)