Sherman-Morrisonの公式の導出

Kalman-filterをはじめとする、逐次的な2乗誤差最小化に基づくリアルタイム信号処理では、損失関数を構成する2次形式の基になる行列の逆行列を高速で求める必要がある。そのような状況で頼りになるSherman-Morrisonの公式を導出する。Woodburyの公式の特別な場合として片付けられるのが一般的だが、本記事ではJordan分解を用いて導出してみる。

arg maxarg min\providecommandrecterf\providecommand\providecommand\providecommandPr

補題1(行列式の中身のサイズ変更)

主張

ARn×m,BRm×nに対して|ImAB|=|InBA|

導出

M:=[InABIm]

とすると

detM=det(M[InAOIm])=det[InOBImBA]=|ImBA|

一方で

detM=det(M[InOBIm])=det[InABA Im]=|InAB|

◻

補題2(Sherman-Morrisonの公式の特別な場合)

主張

u,vCm,1+vu0とするとき次式が成り立つ。

(I+uv)1=I11+vuuv

導出

uv=Oのときは定理の主張は明らかに成り立つ。以下ではuvOとする。仮定1+vu0と前掲の補題1よりI+uvには逆行列が存在する。uvの階数は1であり(Img(uv)=span[u])、唯一の固有値はvuである(対応する固有ベクトルはu)。よってuvをJordan分解すると、適当な正則行列Jを用いて次のように表せる。

uv=J[vu00O]J1=:JΛJ1

よって

(I+uv)1=J(I+Λ)1J1=J[1+vu00I]1J1=J[11+vu00I]J1=J11+vu[100(1+vu)I]J1=J11+vu((1+vu)IΛ)J1=I11+vuuv

◻

Sherman-Morrisonの公式

主張

ACm×m,u,vCmとする。Aは可逆であるとし、1+vA1u0とする。このとき次式が成り立つ。

(A+uv)1=(I11+vA1uA1uv)A1

導出

A+uv=A(I+A1uv)だから(A+uv)1=(I+A1uv)1A1であり、1つ目の因子に前掲の補題2を適用すればよい。

◻

投稿者: motchy

DSP and FPGA engineer working on measuring instrument.

コメントを残す