エンジニアを目指す浪人のブログ

情報系に役立ちそうな応用数理をゆるめにメモします

ムーア・ペンローズ逆行列の定義,構成,一意性についてまとめる

勉強を進めていて,ムーア・ペンローズ逆行列(Moore-Penrose inverse)(擬似逆行列(pseudoinverse))について知りました.応用でよく使われているようなので,その定義,構成,一意性について文献[1]の4章をベースにしてまとめておくことにしました.

=================================================================================

記号を準備します.

{\displaystyle \;\;\; \mathbb{C}^{n} \;\;\; : } {\displaystyle \mathbb{C} } の要素を要素にもつ {\displaystyle n } 次元ベクトルの集合
{\displaystyle \;\;\; \mathbb{C}^{m \times n} : } {\displaystyle \mathbb{C} } の要素を要素にもつ {\displaystyle m \times n } 行列の集合
{\displaystyle \;\;\; \mathbb{C}_r^{m \times n} : } {\displaystyle \mathbb{C} } の要素を要素にもつ {\displaystyle m \times n } 行列で階数 {\displaystyle r } となるものの集合
{\displaystyle \;\;\; I_n \;\;\;\;\; : } {\displaystyle n \times n } 単位行列


行列 {\displaystyle A \in \mathbb{C}^{m \times n} } について {\displaystyle A^* = (\bar{A})^T } です.この随伴行列(conjugate transpose)の計算ルールは文献[4]にあります.

逆行列(invertible matrix)の計算ルールは文献[5]にあります.

階数(rank)の計算ルールは文献[6]にあります.

 

以上の設定のもとで本記事の目的に進みます.

ムーア・ペンローズ逆行列は,一般化逆行列(generalized inverse)(以下の過去記事にあります)の特別な場合です.ある行列 {\displaystyle A } に対する一般化逆行列はただ一つとは限りません.フルランク( {\displaystyle m=n=r } )のとき一般化逆行列{\displaystyle A^{-1} } でありただ一つに決まります.

一般化逆行列の定義の意味について考える - エンジニアを目指す浪人のブログ


以下の4つの方程式をみたす(ただ一つの) {\displaystyle B = A^+ } をムーア・ペンローズ逆行列といいます.一般化逆行列の定義(d.1)と追加の条件(d.2)(d.3)(d.4)からなることがわかります.

(d.1){\displaystyle \;\;\; ABA = A }
(d.2){\displaystyle \;\;\; BAB = B }
(d.3){\displaystyle \;\;\; (AB)^* = AB }
(d.4){\displaystyle \;\;\; (BA)^* = BA }

あとで示すように任意の {\displaystyle A \in \mathbb{C}^{m \times n} } について {\displaystyle A^{+} } はただ一つに決まるので,(d.1)(d.2)(d.3)(d.4)における {\displaystyle A }{\displaystyle B } の対称性より {\displaystyle A^{++} = A } です.


{\displaystyle A \in \mathbb{C}_r^{m \times n} } とし,その階数分解((full) rank factorization)(以下の過去記事にあります)を {\displaystyle A =FG, \ F \in \mathbb{C}_r^{m \times r}, \ G \in \mathbb{C}_r^{r \times n} } とします.階数分解は必ず存在しますが,一般にただひとつには決まりません.{\displaystyle A } が列フルランク({\displaystyle r=n })のとき {\displaystyle G = I_n },行フルランク({\displaystyle r=m })のとき {\displaystyle F = I_m } とすることができます.

行列の階数分解の存在と非一意性を証明する - エンジニアを目指す浪人のブログ


以下の定理は,階数分解の結果を用いてムーア・ペンローズ逆行列 {\displaystyle A^{+} } を構成できることを示してます.

定理 1.
{\displaystyle A \in \mathbb{C}_r^{m \times n} } の階数分解 {\displaystyle A=FG } について以下が成り立つ.

(1) {\displaystyle \; F^+ = (F^* F)^{-1} F^* }
(2) {\displaystyle \; F^+ F = I_r }
(3) {\displaystyle \; G^+ = G^* (G G^*)^{-1} }
(4) {\displaystyle \; G G^+ = I_r }
(5) {\displaystyle \; A^+ = G^+ F^+ }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\; = G^* (G G^*)^{-1} (F^* F)^{-1} F^* }


注意.
(2)(4)は {\displaystyle F^+ }{\displaystyle F } の左逆行列{\displaystyle G^+ }{\displaystyle G } の右逆行列であることを意味している.


証明.
{\displaystyle F^+ } が(d.1)(d.2)(d.3)(d.4)をみたしていることを示す.

{\displaystyle \;\;\; F F^+ F = F \ ( (F^* F)^{-1} F^* ) \ F }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\; = F \ (F^* F)^{-1} (F^* F) }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\; = F }

{\displaystyle \;\;\; F^+ F F^+ = ( (F^* F)^{-1} F^* ) \ F \ ( (F^* F)^{-1} F^* ) }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = (F^* F)^{-1} ( F^* F ) (F^* F)^{-1} F^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = (F^* F)^{-1} F^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = F^+ }

{\displaystyle \;\;\; (F F^+)^* = ( F \ ((F^* F)^{-1} F^*) )^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = ((F^* F)^{-1} F^*)^* \ F^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = F^{**} ((F^* F)^{-1} )^* \ F^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = F ((F^* F)^*)^{-1} \ F^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = F \ (F^* F)^{-1}F^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = F F^+ }

{\displaystyle \;\;\; (F^+ F)^* = ( (F^* F)^{-1} F^* \ F )^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = ( I_r )^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = I_r }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = (F^* F)^{-1} F^* \ F }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = F^+ F }


{\displaystyle G^+ } が(d.1)(d.2)(d.3)(d.4)をみたしていることを示す.

{\displaystyle \;\;\; G G^+ G = G ( G^* (G G^*)^{-1} ) G }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\; = ( G G^* ) (G G^*)^{-1} G }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\; = G }

{\displaystyle \;\;\; G^+ G G^+ = ( G^* (G G^*)^{-1} ) \ G \ ( G^* (G G^*)^{-1} ) }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = G^* (G G^*)^{-1}(G G^*) (G G^*)^{-1} }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = G^* (G G^*)^{-1} }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = G^+ }

{\displaystyle \;\;\; (G G^+)^* = ( G \ G^* (G G^*)^{-1} )^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = ( I_r )^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = I_r }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = G \ G^* (G G^*)^{-1} }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = G G^+ }

{\displaystyle \;\;\; (G^+ G)^* = ( ( G^* (G G^*)^{-1} ) \ G )^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = G^* ( G^* (G G^*)^{-1} )^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = G^* ((G G^*)^{-1})^* G^{**} }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = G^* ((G G^*)^* )^{-1} G }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = G^* (G G^* )^{-1} G }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = G^+ G }


{\displaystyle A^+ } が(d.1)(d.2)(d.3)(d.4)をみたしていることを示す.

{\displaystyle \;\;\; A A^+ A = A ( G^+ F^+) A }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\; = FG ( G^+ F^+) FG }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\; = F \ I_r \ I_r \ G }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\; = FG }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\; = A }

{\displaystyle \;\;\; A^+ A A^+ = (G^+ F^+) \ A \ (G^+ F^+) }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = (G^+ F^+) \ FG \ (G^+ F^+) }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = G^+ \ I_r \ I_r \ F^+ }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = G^+ F^+ }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = A^+ }

{\displaystyle \;\;\; (A A^+)^* = ( A \ G^+ F^+ )^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = ( FG \ G^+ F^+ )^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = ( F \ I_r \ F^+ )^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = ( F F^+ )^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = F F^+ \;\;\; \because } {\displaystyle F^+ } の(d.3)
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = F \ I_r \ F^+ }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = F \ G G^+ \ F^+ }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = A A^+ }

{\displaystyle \;\;\; (A^+ A)^* = ( G^+ F^+ \ A )^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = ( G^+ F^+ \ FG )^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = ( G^+ \ I_r \ G )^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = ( G^+ G )^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = G^+ G \;\;\; \because } {\displaystyle G^+ } の(d.4)
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = G^+ \ I_r \ G }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = G^+ \ F^+ F \ G }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = A^+ A }


以上より(1)(3)(5)は示せた.(2)(4)は明らかである.(証明終わり)


先ほどの過去記事(階数分解)にあるように,ある行列についての階数分解はただ一つではありません.しかしながら,以下の定理はムーアペンローズ逆行列はただ一つに決まることを示しています.

定理 2.
{\displaystyle A = FG = F_1 G_1 } が階数分解のとき,{\displaystyle F_1 = FR, \ G_1 = R^{-1} G } となるような正則行列 {\displaystyle R \in \mathbb{C}_r^{r \times r} } が存在する.さらに以下が成り立つ.

{\displaystyle \;\;\; G_1^+ = (R^{-1} G)^{+} = G^+ R }
{\displaystyle \;\;\; F_1^+ = (FR)^+ \;\; = R^{-1} F^+ }


証明.
仮定より以下がいえる.

{\displaystyle \;\;\; A = FG = F_1 G_1 }
{\displaystyle \;\;\;\;\;\; \Rightarrow \; F_1^+ F_1 G_1 = F_1^+ F G }
{\displaystyle \;\;\;\;\;\; \Leftrightarrow \;\;\;\;\;\;\;\;\; G_1 = F_1^+ F G \;\;\; \because } 定理1.(2)

{\displaystyle \;\;\; A = FG = F_1 G_1 }
{\displaystyle \;\;\;\;\;\; \Rightarrow \; F_1 G_1 G_1^+ = F G G_1^+ }
{\displaystyle \;\;\;\;\;\; \Leftrightarrow \;\;\;\;\;\;\;\;\; F_1 = F G G_1^+ \;\;\; \because } 定理1.(4)


これらを用いて以下を得る.

{\displaystyle \;\;\; r = \mathrm{rank}\ G_1 }
{\displaystyle \;\;\;\;\;\; = \mathrm{rank}\ ( F_1^+ F G ) }
{\displaystyle \;\;\;\;\;\; \le \min ( \ \mathrm{rank}\ (F_1^+ F), \ \mathrm{rank}\ G \ ) }
{\displaystyle \;\;\;\;\;\; = \mathrm{rank}\ (F_1^+ F) \;\;\; \because \mathrm{rank}\ G =r,\ F_1^+ F \in \mathbb{C}^{r \times r} }
{\displaystyle \;\;\;\;\;\; \le r \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; \because F_1^+ F \in \mathbb{C}^{r \times r} }
{\displaystyle \;\;\;\;\;\;\;\;\; \Rightarrow \mathrm{rank}\ (F_1^+ F) = r }


{\displaystyle \;\;\; r = \mathrm{rank}\ F_1 }
{\displaystyle \;\;\;\;\;\; = \mathrm{rank}\ ( F G G_1^+ ) }
{\displaystyle \;\;\;\;\;\; \le \min ( \ \mathrm{rank}\ F, \ \mathrm{rank}\ (G G_1^+) \ ) }
{\displaystyle \;\;\;\;\;\; = \mathrm{rank}\ (G G_1^+) \;\;\; \because \mathrm{rank}\ F =r,\ G G_1^+ \in \mathbb{C}^{r \times r} }
{\displaystyle \;\;\;\;\;\; \le r \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; \because G G_1^+ \in \mathbb{C}^{r \times r} }
{\displaystyle \;\;\;\;\;\;\;\;\; \Rightarrow \mathrm{rank}\ (G G_1^+) = r }


よって {\displaystyle F_1^+ F, \ G G_1^+ }正則行列である.{\displaystyle S = F_1^+ F, \ R = G G_1^+ } とおく.

{\displaystyle \;\;\; SR = F_1^+ F G G_1^+ }
{\displaystyle \;\;\;\;\;\;\;\;\; = F_1^+ A \ G_1^+ }
{\displaystyle \;\;\;\;\;\;\;\;\; = F_1^+ F_1 G_1 \ G_1^+ }
{\displaystyle \;\;\;\;\;\;\;\;\; = I_r I_r }
{\displaystyle \;\;\;\;\;\;\;\;\; = I_r }


したがって {\displaystyle S = R^{-1} } であり,以下を得る.

{\displaystyle \;\;\; G_1 = F_1^+ F G }
{\displaystyle \;\;\;\;\;\;\;\; = SG }
{\displaystyle \;\;\;\;\;\;\;\; = R^{-1} G }

{\displaystyle \;\;\; F_1 = F G G_1^+ }
{\displaystyle \;\;\;\;\;\;\;\; = FR }


最後に以下を示す.

{\displaystyle \;\;\; (FR)^+ = \left( (FR)^* (FR) \right)^{-1} (FR)^* \;\;\; \because } 定理1.(5)と {\displaystyle F_1= FR } は列フルランク
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\; = \left( R^* F^* (FR) \right)^{-1} R^* F^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\; = \left( R^* ((F^* F) R ) ) \right)^{-1} R^* F^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\; = ((F^* F) R )^{-1} (R^*)^{-1} R^* F^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\; = R^{-1} (F^* F)^{-1} (R^*)^{-1} R^* F^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\; = R^{-1} (F^* F)^{-1} F^* }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\; = R^{-1} F^+ \;\;\; \because } 定理1.(1)


{\displaystyle \;\;\; (R^{-1} G )^+ = (R^{-1} G)^* \left( (R^{-1} G) (R^{-1} G)^* \right)^{-1} \;\;\; \because } 定理1.(5)と {\displaystyle G_1= R^{-1} G } は行フルランク
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = G^* (R^{-1})^* \left( (R^{-1} G) G^* (R^{-1})^* \right)^{-1} }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = G^* (R^{-1})^* \left( \left( R^{-1} (G G^*) \right) (R^{-1})^* \right)^{-1} }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = G^* (R^{-1})^* \left( (R^{-1})^* \right)^{-1} \left( R^{-1} (G G^*) \right)^{-1} }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = G^* (R^{-1})^* \left( (R^{-1})^* \right)^{-1} (G G^*)^{-1} ( R^{-1} )^{-1} }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = G^* (G G^*)^{-1} R }
{\displaystyle \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = G^+ R \;\;\; \because } 定理1.(3)

(証明終わり)

=================================================================================

以上,ムーア・ペンローズ逆行列の定義,構成,一意性についてまとめました.

 

参考文献
[1] Piziak, R., and Odell, P.L.(1999), Full Rank Factorization of Matrices, Mathematics Magazine, Vol.72, No.3, pp.193-201.
[2] 早稲田大学 杉本憲治郎先生のノート https://www.slideshare.net/wosugi/ss-79624897
[3] Wikipedia Moore-Penrose inverse のページ https://en.wikipedia.org/wiki/Moore%E2%80%93Penrose_inverse
[4] Wikipedia Conjugate transpose のページ https://en.wikipedia.org/wiki/Conjugate_transpose
[5] Wikipedia Invertible matrix のページ https://en.wikipedia.org/wiki/Invertible_matrix
[6] Wikipedia Rank (linear algebra) のページ https://en.wikipedia.org/wiki/Rank_(linear_algebra)

おまけ
[1] へのリンク https://www.researchgate.net/publication/265958585_Full_Rank_Factorization_of_Matrice