ムーア・ペンローズ逆行列

数学、特に線形代数において、行列 formula_1 のムーア・ペンローズ逆行列（） formula_2 は、逆行列の最もよく知られている一般化である。 ムーア・ペンローズ形一般逆行列とも呼ばれる。1920年にE・H・ムーアに、1951年にに、1955年にロジャー・ペンローズによって独立して記述された。それ以前、 エリック・イヴァル・フレドホルムは、1903年に積分演算子の擬似逆行列の概念を導入していた。行列について述べる場合、特段の指定がない限り、擬似逆行列という用語はムーア・ペンローズ逆行列を指すことが多い。一般化逆行列という用語は、擬似逆行列の同義語として用られることがある。
擬似逆行列の一般的な使用法は、解がない線形連立方程式の「最適」（）解を計算することである（以下の応用を参照）。ほかに、複数の解を持つ線形連立方程式の最小（ユークリッド）ノルム解を求めることにも用いられる。擬似逆行列によって、線形代数での結果の表現と証明が容易になる。
擬似逆行列は、成分が実数または複素数であるすべての行列に対して定義され、一意に定まる。特異値分解を用いて計算できる。
表記.
以下の説明では、次の表記規約に従うものとする。
定義.
formula_9 に対して、 の擬似逆行列は、ムーア・ペンローズ条件として知られる次の4つの条件をすべて満たす行列 formula_24 として定義される：
formula_2 はすべての行列 に対して存在するが、 がフルランク（すなわち、 のランクが formula_34 である）であるならば、formula_2 は単純な代数式として表される。
 の列ベクトルが線型独立である（したがって行列 formula_36 は可逆である）ならば、formula_2 は次のように計算できる。formula_38このような擬似逆行列は"左逆行列"となる。この場合、 formula_39 となる。
 の行ベクトルが線型独立である（行列 formula_40 が可逆である）ならば、formula_2 は次のように計算できる。formula_42これは"右逆行列"となり、 formula_43 となる。
特徴.
存在と一意性.
擬似逆行列は存在し、一意に定まる：任意の行列 に対して、定義の4つの条件を満たす行列 formula_2 が唯一つ存在する。
定義の最初の条件 を満たす行列 は、 行列 の一般逆行列（generalized inverse）として知られている。定義の二条件 と を満たす行列 は、行列 の反射形一般逆行列（reflexive generalized inverse）と呼ばれる。一般逆行列は常に存在するが、一般に一意に定まらない。一意性は、最後の2つの条件から導かれる。
基本的な特徴.
以下の特徴の証明は、証明サブページに記した。
恒等関係.
次の恒等式を用いて、擬似逆行列を含む式の一部を簡略化したり展開できる。formula_51同じことであるが、formula_1 を formula_2 で置き換えると以下の式が得られる。formula_54formula_1 を formula_11 で置き換えると以下の式になる。formula_57
エルミートの場合への還元.
擬似逆行列の計算は、エルミートの場合の構成法に還元できる。これは、以下の等価性によるものである。formula_58ここで、formula_36 と formula_40 はエルミートである。
積.
formula_61 とする。すると、以下は同値になる。
以下は formula_62 の十分条件である（このうちのいずれか一つを満たせば十分である）：
以下は formula_62 の必要条件である：
最後の十分条件から以下の式が導かれる。formula_76注意：等式 formula_62 は一般には成り立たない。反例は以下の通り：formula_78
射影.
formula_9 とする。formula_80 と formula_81 は直交射影演算子である。つまり、これらはエルミート（ formula_82 、 formula_83 ）およびべき等（ formula_84 と formula_85 ）であり、以下の事柄が成り立つ：
最後の2つの特徴は、以下の等式を意味する。
他の特徴は以下の通り。formula_95 はエルミートかつべき等であり（正射影を表す場合かつその場合に限って真）、任意の行列 formula_96 に対して以下の等式が成り立つ。formula_97これは、行列 formula_98 、 formula_99 を定義することで証明できる。 がエルミートでべき等であるという、擬似逆行列の特徴を満たすことを確認することにより、 が実際に の擬似逆行列になっていることを確認すればよい。
最後の特徴から、 formula_95 がエルミートかつべき等であるならば、任意の行列 formula_101 に対して以下の式が成り立つ。formula_102最後に、 は直交射影行列であるならば、その擬似逆行列は元の行列と自明に一致する。つまり、 formula_103 。
幾何学的構成.
行列 formula_104 を体 formula_5 上の線型写像として見ると、 formula_106 は次のように分解できる。ここで、 formula_107 を直和、formula_108 を直交補空間、 formula_109 を写像の核、そして formula_110 を写像の像とする。formula_111 となり formula_112 となることに注意せよ。formula_113 と制限すると、同型写像となる。これは、 formula_114 上で formula_2 がこの同型写像の逆写像となり、 formula_116 上で核が逆写像となることを含意する。
言い換えれば： formula_117 の元 formula_118 が与えられたとき、formula_119 を探すために、まず formula_1 の値域に直交するように formula_118 を射影し、値域内の点 formula_122 を探す。次に formula_123 を作る。すなわち、 formula_124 に属し、 formula_1 を formula_122 に写すベクトルを探す。これは formula_1 の核に平行する formula_124 のアフィン部分空間になる 。長さが最小の（つまり、原点に最も近い）を持つこの部分空間の元が、求めたい答え formula_119 になる。 formula_123 の任意の元を選び、それを formula_1 の核の直交補空間に直交して投影することで求まる。
この説明は、線型連立方程式の最小ノルム解と密接に関連する。
部分空間.
formula_132
極限関係.
擬似逆行列は以下の極限を持つ。formula_133（チコノフ正則化を参照）。 formula_134 や formula_135 が存在しない場合にも、これらの極限は存在する。
連続性.
通常の逆行列とは対照的に、擬似逆行列を求める操作は連続的ではない。行列の列 formula_136 が行列 formula_1 に収束する（たとえば、最大ノルムまたはフロベニウスノルムの意味で）ならば、formula_138 が formula_2 に収束する必要はない。ただし、すべての行列 formula_140 が formula_1 と同じランクであれば、formula_138 は formula_2 に収束する。
導関数.
ある点 formula_144 で定数のランクを持つ実数値の擬似逆行列の導関数は、元の行列の導関数で計算できる：
formula_145
例.
可逆行列の場合、擬似逆行列は通常の逆行列に等しいため、以下では非可逆行列の例のみを扱う。
特殊なケース.
スカラー.
スカラーとベクトルの擬似逆行列を定義することもできる。この場合、これらを行列として扱うことになる。スカラー formula_144 の擬似逆行列は、 formula_144 がゼロの場合はゼロになり、それ以外の場合は formula_144 の逆数となる：formula_149
ベクトル.
零（すべてゼロ）ベクトルの擬似逆行列は、転置された零ベクトルである。非零ベクトルの擬似逆行列は、共役転置ベクトルをその2乗の大きさで割ったものになる。formula_150
線型独立な列ベクトル.
formula_151 の列が線型独立の場合（formula_152）、formula_36は可逆である。この場合の明示的な式は以下の通り。formula_154つまり、 formula_2 は formula_1の左逆行列となる：formula_70
つまり、 formula_2 は formula_1の右逆行列となる：formula_160
線型独立な行ベクトル.
formula_151 の行が線型独立の場合（formula_162）、formula_40は可逆である。この場合の明示的な式は以下の通り。formula_164これは、列フルランクまたは行フルランクの特殊なケースである（上記で扱った）。 formula_1 が正規直交列（ formula_166 ）または正規直交行（ formula_167 ）を持つならば、以下の式が成り立つ：
つまり、 formula_2 は formula_1の右逆行列となる：formula_160
正規直交列ベクトルまたは行ベクトル.
これは、列フルランクまたは行フルランクの特殊なケースである（上記で扱った）。 formula_151 が正規直交列（ formula_166 ）または正規直交行（ formula_167 ）を持つならば、以下の式が成り立つ：formula_174
2次正方行列.
2次正方行列
の擬似逆行列は formula_176 のとき、
である。 formula_178 のとき、 formula_179 のときは
となる。 formula_181 のときは
である。
正規行列.
formula_1 が 正規行列、つまり、共役転置が可換であれば、その擬似逆行列は、それを対角化し、すべての非ゼロ固有値をそれらの逆数に、ゼロ固有値をゼロに写すことで計算できる。当然、 formula_1 が転置について可換であるとは、それがその擬似逆行列で可換であることを意味します。
直交射影行列.
これは、固有値が0と1の正規行列の特殊なケースである。formula_1 が直交射影行列、つまり、 formula_186 かつ formula_187 であれば、擬似逆行列は行列自体と自明に一致する：formula_188
巡回行列.
formula_189 が巡回行列の場合、フーリエ変換で特異値分解ができる。つまり、特異値はフーリエ係数となる。formula_190 を離散フーリエ変換（DFT）行列とすると、
formula_191
構造.
ランク分解.
formula_192 で formula_9 の ランクを表すとする。すると formula_1 は formula_195 として（ランク）分解することができる。ここで、 formula_196 のランクは formula_197 である。このとき
となる。
QR分解.
formula_199 で積 formula_200 やそれらの逆行列を直接計算すると、実際には数値の丸め誤差や計算コストがたびたび生じる。逆行列の計算には、上記の代わりに formula_1 のQR分解を用いる方法がある。
formula_1 が列フルランクの場合を考える。このとき formula_203 である。すると、コレスキー分解formula_204 （formula_205 は上三角行列）を用いることができる。逆行列の乗算は、複数右辺ベクトルを持つ連立方程式を解くことで簡単に行える。formula_206これは、前進代入と後退代入で解くことができる。
コレスキー分解の代わりに QR分解 formula_207 を用いることで、formula_36 を明示的に構築せずに計算できる。ここで、 formula_209 は正規直交列を持ち、 formula_210 、そして formula_205 上三角行列である。このときformula_212それでのコレスキー因子である 。
行フルランクの場合は、式 formula_213 を用い、formula_1 と formula_11 を入れ替えた同様の議論で対処可能である。
特異値分解（SVD）.
計算上単純で正確な擬似逆行列を計算する方法は、特異値分解である。formula_216を formula_1 の特異値分解とすると、 formula_218 となる。formula_219 のような長方対角行列の場合、対角成分の各非ゼロ要素は逆数を取り、ゼロをそのままにして、行列を転置することにより、擬似逆行列が得られる。数値計算では、許容誤差よりも大きい要素のみが非ゼロと見なされ、他の要素はゼロに置き換えられる。たとえば、 MATLABやGNUOctaveの関数の場合、許容誤差は で与えられる。ここで、εは計算機イプシロンである。
この方法の計算コストは、SVDの計算コストが支配的である。これは、最先端の実装（LAPACKなど）が使用されている場合でも、行列同士の乗算よりも数倍重い。
上記の手順は、擬似逆行列の計算が連続演算ではない理由を示している。元の行列 formula_1 が特異値0（上記行列 formula_219 の対角成分）を持つ場合、formula_1 のわずかな変更によってこのゼロが小さな正の数に変わる可能性があり、それによって、小さな数の逆数を求める必要が生じ、擬似逆行列に大きな影響を与えうる。
ブロック行列.
ブロック構造化された行列の擬似逆行列を計算するためのが存在する。
ベン・イスラエル(Ben-Israel)とコーエン(Cohen)の反復法.
他に、再帰を用いて擬似逆行列を計算する方法（を参照）がある。formula_223これは、超べき列(hyper-power sequence)と呼ばれることもある。この再帰は、適切な formula_224 から始まり、 formula_225 を満足する場合、formula_1 の擬似逆行列に2次的に収束する列を生成する。formula_227 という選び方（ここでformula_228 であり、 formula_229は formula_1 の最大の特異値を示す）は、上記のSVDを使用する方法と競合しないと主張されている。これは、適度に悪条件の行列であっても、formula_231 が二次収束の領域に入る前に長い時間がかかるためである。ただし、formula_224 がすでにムーア・ペンローズ逆行列に近く、 formula_225 ならば、 例えばformula_234 ならば、収束は高速である（二次）。
擬似逆行列の更新.
formula_1 が行または列フルランクで、かつ相関行列の逆行列（formula_1 が行フルランクの場合は formula_40、列フルランクの場合はformula_36）がすでに既知であるならば、formula_1 に関連する行列の擬似逆行列は、を適用して相関行列の逆行列を更新することで計算できる。これにより、必要な作業が少なて済む可能性がある。特に関連する行列について、変更、追加、または削除された行・列のみが元の行列と異なる場合、その関係を利用する増分アルゴリズムが存在する 。
同様に、行または列が追加されたときに、相関行列の逆行列を明示的に作成せずに、コレスキー係数を更新することができる。ただし、一般のランク不足の場合、擬似逆行列の更新は非常に複雑である 。
ソフトウェアライブラリ.
SVD、QR、および後方代入の高品質な実装は、 LAPACKなどの標準ライブラリで利用できる。 SVDの独自実装の作成には、高度な数値計算の専門知識を必要とする。ただし、並列コンピューティングや組み込みコンピューティングなどの特殊な状況では、QRによる代替実装、または明示的な逆行列の使用が望ましい場合があり、独自実装は避けられない場合がある。
PythonパッケージNumPyでは、関数codice_1とcodice_2を利用できる。codice_3はSVDベースのアルゴリズムを使用する。 SciPyでは、最小二乗ソルバーを使用する関数codice_4を利用できる。
RのMASSパッケージでは、 codice_5関数でムーア・ペンローズ逆行列の計算が行える。 codice_5関数は、ベースRパッケージのcodice_7関数による特異値分解を使用して擬似逆行列を計算する。他に、pracmaパッケージで利用可能なcodice_3関数を使用する方法もある。
Octaveプログラミング言語は、標準パッケージ関数codice_3およびcodice_10メソッドを介して擬似逆行列を計算できる。
Julia（プログラミング言語）では、標準ライブラリのLinearAlgebraパッケージが、特異値分解を介して実装されたムーア・ペンローズ逆行列の実装 codice_11 を提供する。
応用.
線型最小二乗法.
擬似逆行列によって、連立一次方程式の最小二乗解が求まる。 formula_9 を係数行列とする以下の連立一次方程式が与えられた場合を考える。formula_241一般的に、連立方程式を解くベクトル formula_144 が存在しないか、存在する場合は一意ではない可能性がある。擬似逆行列は、「最小二乗」問題を次のように解く。
ユークリッドノルムをフロベニウスノルムに置き換えると、複数右辺ベクトルを持つ連立方程式に簡単に拡張できる。formula_252 とすると、次のようになる。
線型連立方程式のすべての解の求解.
formula_9 を係数行列とする以下の線型連立方程式が複数の解を持つとする。formula_241するとすべての解は、任意のベクトル formula_247 に対して以下の式で与えられる。formula_260解は、formula_261 のとき、またそのときに限り存在する。後者の場合、解は、formula_1 が列フルランク（formula_263 が零行列）のとき、またそのときに限り一意に定まる。解は存在するが formula_1 が列フルランクでないならば、となり、その無数のすべての解は最後の方程式によって与えられる。
線型連立方程式の最小ノルム解.
一意でない解（劣決定系など）を持つ線型連立方程式 formula_265 では、擬似逆行列を使用して、すべての解の中で最小のユークリッドノルム formula_266 の解を構築できる。
ユークリッドノルムをフロベニウスノルムに置き換えると、複数右辺ベクトルを持つ連立方程式に簡単に拡張できる。formula_252 とすると、次のようになる。
条件数.
擬似逆行列と行列ノルムを使用して、任意の行列の条件数を定義できる。formula_274条件数が大きい場合、線型連立方程式の最小二乗解を求める問題で、formula_1 の要素の小さな誤差が解の要素の大きな誤差につながるという意味で、悪条件であることを意味する。
一般化.
実数と複素数の行列に加えて、条件は「複素数四元数」とも呼ばれるの行列にも当てはまる。
より一般的な最小二乗問題を解くためには、すべての連続線型演算子に対して、2つのヒルベルト空間 formula_276の間でムーア・ペンローズ逆演算子 formula_277 を定義できる。その際、上記の定義と同じ4つの条件を用いる。ここから、すべての連続線型演算子が連続線型擬似逆演算子を持つわけではないことがわかる。擬似逆演算子を持つのは、値域が formula_278 に閉じている場合に限られる。
擬似逆行列の概念は、任意の対合自己同型を備えた任意の体上の行列に存在する。このような一般的な前提では、特定の行列に対して常に擬似逆行列があるとは限らない。擬似逆行列が存在するための必要十分条件は、 formula_279 であり、ここで formula_11 は formula_1 の転置に対合演算を適用した結果を表す。擬似逆行列が存在するならば、それは一意に定まる。
例：(記事の他の場所で検討されている対合とは対照的に）恒等対合を備えた複素数体を考える。この意味で擬似逆行列を持たない行列は存在するだろうか？行列 formula_282 を考えると、 formula_283 である一方 formula_284 であることがわかる。したがって、行列 formula_1 には、この意味での擬似逆行列は存在しない。
抽象代数では、ムーア・ペンローズ逆行列は*-正則半群で定義できる。この抽象的な定義は、線型代数の定義と一致する。