読者です 読者をやめる 読者になる 読者になる

行列A+BCDの逆行列を導出する

math

このエントリーをはてなブックマークに追加

行列{A + BCD}逆行列


  A^{-1} - A^{-1}B(C^{-1}+DA^{-1}B)^{-1}DA^{-1}

で表される、という公式(A+BDCと書かれることもある)が天下りで出てきて面食らったことはないでしょうか。

この式は‘Matrix Inversion Lemma’(逆行列補題逆行列の補助定理)とか‘Sherman-Morrison-Woodbury Identity’(Sherman-Morrison(-Woodbury)の公式)とか呼ばれる式だそうで、www0.cs.ucl.ac.uk/staff/g.ridgway/mil/mil.pdfに詳しい導出があります。

ほぼこのpdfそのままになってしまいますが、導出を真似してみたいと思います。ただし、厳密さには自信がありません(例えば、逆行列が存在するかどうかを気にしなくてよいのかなど)。

準備:恒等式

I + Pの逆行列は以下のように書けます。


(I + P)^{-1} = (I + P)^{-1}(I + P - P) = I - (I + P)^{-1}P

Iは単位行列です。

準備:恒等式

P + PQPは以下のように2通りに書けます。


P + PQP = P(I + QP) = (I + PQ)P

右から\((I + QP)^{-1}\), 左から\((I + PQ)^{-1}\)をかけると以下の恒等式が求まります。


(I + PQ)^{-1}P = P(I + QP)^{-1}

Matrix Inversion Lemmaの導出

はてなブログでのLaTeX記法のうまくいかなさに疲れ果てたので、ここからは画像でやります。

行列Aを正則行列逆行列を持つ正則行列)とします。

Aをくくりだして恒等式①を適用すると以下のようになります。

f:id:minus9d:20140728211651j:plain

次に恒等式②を一回適用したのが以下です。

f:id:minus9d:20140728211743j:plain

同じ調子で恒等式②を繰り返し適用します。

f:id:minus9d:20140728211807j:plain

これでMatrix Inversion Lemmaの導出ができたようです。ここから冒頭の式を導くにはさらに仮定を加える必要があるようです。それを次節で述べます。

Matrix Inversion Lemmaの特別なケース

ここからは行列Cも正則行列であることをさらに仮定します。まず、さっきの式の一部分に恒等式②を適用して変形させていきます。

f:id:minus9d:20140728213100j:plain

さらにこの式の一部分に対して、全体の逆行列逆行列をとってみます。ここで行列Cが正則行列だという仮定を使っていると思われます。

f:id:minus9d:20140728214259j:plain

これらの結果をMatrix Inversion Lemmaに導入すると、以下のように冒頭の公式が導けました。

f:id:minus9d:20140728214135j:plain

順を追って丁寧に導出していくと、確かに冒頭の式が導けました。もっともどのようにしたらこのような導出を思いつくことができるのかは別問題なのですが…。一度紙と鉛筆で試してみると自信が付いてよいと思います。

この公式の嬉しいところ

Sherman-Morrison-Woodburyの公式 (Schur補行列) - いんふらけいようじょのえにっきの最後に書いてあります。この公式を使った方が逆行列が簡単に求まるようになる場合があるとのことです。

参考