行列の逆行列は
で表される、という公式(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 + PQPは以下のように2通りに書けます。
右から\((I + QP)^{-1}\), 左から\((I + PQ)^{-1}\)をかけると以下の恒等式が求まります。
Matrix Inversion Lemmaの導出
はてなブログでのLaTeX記法のうまくいかなさに疲れ果てたので、ここからは画像でやります。
Aをくくりだして恒等式①を適用すると以下のようになります。
次に恒等式②を一回適用したのが以下です。
同じ調子で恒等式②を繰り返し適用します。
これでMatrix Inversion Lemmaの導出ができたようです。ここから冒頭の式を導くにはさらに仮定を加える必要があるようです。それを次節で述べます。
Matrix Inversion Lemmaの特別なケース
ここからは行列Cも正則行列であることをさらに仮定します。まず、さっきの式の一部分に恒等式②を適用して変形させていきます。
さらにこの式の一部分に対して、全体の逆行列の逆行列をとってみます。ここで行列Cが正則行列だという仮定を使っていると思われます。
これらの結果をMatrix Inversion Lemmaに導入すると、以下のように冒頭の公式が導けました。
順を追って丁寧に導出していくと、確かに冒頭の式が導けました。もっともどのようにしたらこのような導出を思いつくことができるのかは別問題なのですが…。一度紙と鉛筆で試してみると自信が付いてよいと思います。
この公式の嬉しいところ
Sherman-Morrison-Woodburyの公式 (Schur補行列) - いんふらけいようじょのえにっきの最後に書いてあります。この公式を使った方が逆行列が簡単に求まるようになる場合があるとのことです。
参考
- www0.cs.ucl.ac.uk/staff/g.ridgway/mil/mil.pdf
- Woodburyの公式・逆行列の補助定理の導出 - wsws's memo
- 他の導出方法その1。こちらのほうが分かりやすいかも。
- Sherman-Morrison-Woodburyの公式 (Schur補行列) - いんふらけいようじょのえにっき
- 他の導出方法その2。理解できていません。
- http://tochikuji.hatenablog.jp/entry/20130813/1376371669
- Sherman-Morrisonの公式 - 機械学習の「朱鷺の杜Wiki」
- 教科書 プログラミングのための線形代数
- この公式に似たA+bcT(b, cはベクトル)の逆行列を確かめる話題がp64に載っています。