ムーア・ペンローズ逆行列
数学、特に線形代数において、行列 のムーア・ペンローズ逆行列(英: Moore–Penrose inverse) は、逆行列の最もよく知られている一般化である[1][2][3][4]。 ムーア・ペンローズ形一般逆行列とも呼ばれる[5]。1920年にE・H・ムーア[6]に、1951年にArne Bjerhammar[7]に、1955年にロジャー・ペンローズ[8]によって独立して記述された。それ以前、 エリック・イヴァル・フレドホルムは、1903年に積分演算子の擬似逆行列の概念を導入していた。行列について述べる場合、特段の指定がない限り、擬似逆行列という用語はムーア・ペンローズ逆行列を指すことが多い。一般化逆行列という用語は、擬似逆行列の同義語として用られることがある。
擬似逆行列の一般的な使用法は、解がない線形連立方程式の「最適」(最小二乗)解を計算することである(以下の応用を参照)。ほかに、複数の解を持つ線形連立方程式の最小(ユークリッド)ノルム解を求めることにも用いられる。擬似逆行列によって、線形代数での結果の表現と証明が容易になる。
表記 編集
以下の説明では、次の表記規約に従うものとする。
定義 編集
に対して、 A の擬似逆行列は、ムーア・ペンローズ条件として知られる次の4つの条件をすべて満たす行列 として定義される[8][9]:
はすべての行列 A に対して存在するが、 A がフルランク(すなわち、 A のランクが である)であるならば、 は単純な代数式として表される。
A の列ベクトルが線型独立である(したがって行列 は可逆である)ならば、 は次のように計算できる。
特徴 編集
存在と一意性 編集
擬似逆行列は存在し、一意に定まる:任意の行列 A に対して、定義の4つの条件を満たす行列 が唯一つ存在する[9]。
定義の最初の条件 AA−A = A を満たす行列 A− は、 行列 A の一般逆行列(generalized inverse)として知られている[5]。定義の二条件 AA×A = A と A×AA× = A× を満たす行列 A× は、行列 A の反射形一般逆行列(reflexive generalized inverse)と呼ばれる[5]。一般逆行列は常に存在するが、一般に一意に定まらない。一意性は、最後の2つの条件から導かれる。
基本的な特徴 編集
以下の特徴の証明は、証明サブページに記した。
- A が実行列であれば、 も実行列である。
- A が可逆ならば、A の擬似逆行列は A の逆行列である[10]:243。 。
- 零行列の擬似逆行列は零行列の転置となる。
- 擬似逆行列の擬似逆行列は、元の行列になる[10]:245。 。
- 擬似逆行列の操作は、転置、複素共役、および共役転置の各操作と交換できる[10]:245。
- A の定数倍行列の擬似逆行列は、定数の逆数をかけたものになる:
- ただし 。
恒等関係 編集
次の恒等式を用いて、擬似逆行列を含む式の一部を簡略化したり展開できる。
エルミートの場合への還元 編集
擬似逆行列の計算は、エルミートの場合の構成法に還元できる。これは、以下の等価性によるものである。
積 編集
とする。すると、以下は同値になる[11]。
以下は の十分条件である(このうちのいずれか一つを満たせば十分である):
- A が正規直交列を持つ(このとき )
- B が正規直交行を持つ(このとき )
- A の列が線型独立であり( )、かつ B の行が線型独立である( )
以下は の必要条件である:
最後の十分条件から以下の式が導かれる。
射影 編集
とする。 と は直交射影演算子である。つまり、これらはエルミート( 、 )およびべき等( と )であり、以下の事柄が成り立つ:
- かつ
- P が A の値域への直交射影作用素である(これは、 の核の直交補空間に等しい)。
- Q が の値域への直交射影作用素である(これは、 A の核の直交補空間に等しい)。
- は A の核への直交射影作用素である。
- は の核の直交射影作用素である[9]。
最後の2つの特徴は、以下の等式を意味する。
他の特徴は以下の通り。 はエルミートかつべき等であり(正射影を表す場合かつその場合に限って真)、任意の行列 に対して以下の等式が成り立つ[12]。
最後の特徴から、 がエルミートかつべき等であるならば、任意の行列 に対して以下の式が成り立つ。
幾何学的構成 編集
行列 を体 上の線型写像として見ると、 は次のように分解できる。ここで、 を直和、 を直交補空間、 を写像の核、そして を写像の像とする。 となり となることに注意せよ。 と制限すると、同型写像となる。これは、 上で がこの同型写像の逆写像となり、 上で核が逆写像となることを含意する。
言い換えれば: の元 が与えられたとき、 を探すために、まず の値域に直交するように を射影し、値域内の点 を探す。次に を作る。すなわち、 に属し、 を に写すベクトルを探す。これは の核に平行する のアフィン部分空間になる 。長さが最小の(つまり、原点に最も近い)を持つこの部分空間の元が、求めたい答え になる。 の任意の元を選び、それを の核の直交補空間に直交して投影することで求まる。
この説明は、線型連立方程式の最小ノルム解と密接に関連する。
部分空間 編集
極限関係 編集
擬似逆行列は以下の極限を持つ。
連続性 編集
通常の逆行列とは対照的に、擬似逆行列を求める操作は連続的ではない。行列の列 が行列 に収束する(たとえば、最大ノルムまたはフロベニウスノルムの意味で)ならば、 が に収束する必要はない。ただし、すべての行列 が と同じランクであれば、 は に収束する[13]。
導関数 編集
ある点 で定数のランクを持つ実数値の擬似逆行列の導関数は、元の行列の導関数で計算できる[14]:
例 編集
可逆行列の場合、擬似逆行列は通常の逆行列に等しいため、以下では非可逆行列の例のみを扱う。
- について、疑似逆行列は である(一般に、零行列の疑似逆行列は元の行列の転置となる)。この疑似逆行列の一意性は、零行列の積は常に零行列であるため、条件 からわかる。
- について、疑似逆行列は である。
実際、 であり、したがって である。
同様に、 であり、したがって である。 - について、 。
- について、 。 (分母は 。)
- について、 。
- について、疑似逆行列は である。 この行列について、左逆行列が存在し、ゆえに と一致する。実際、 である。
特殊なケース 編集
スカラー 編集
スカラーとベクトルの擬似逆行列を定義することもできる。この場合、これらを行列として扱うことになる。スカラー の擬似逆行列は、 がゼロの場合はゼロになり、それ以外の場合は の逆数となる:
ベクトル 編集
零(すべてゼロ)ベクトルの擬似逆行列は、転置された零ベクトルである。非零ベクトルの擬似逆行列は、共役転置ベクトルをその2乗の大きさで割ったものになる。
線型独立な列ベクトル 編集
の列が線型独立の場合( )、 は可逆である。この場合の明示的な式は以下の通り[15]。
つまり、 は の右逆行列となる:
線型独立な行ベクトル 編集
の行が線型独立の場合( )、 は可逆である。この場合の明示的な式は以下の通り。
つまり、 は の右逆行列となる:
正規直交列ベクトルまたは行ベクトル 編集
これは、列フルランクまたは行フルランクの特殊なケースである(上記で扱った)。 が正規直交列( )または正規直交行( )を持つならば、以下の式が成り立つ:
2次正方行列 編集
2次正方行列
の擬似逆行列は のとき、
である。 のとき、 のときは
となる。 のときは
である。
正規行列 編集
が 正規行列、つまり、共役転置が可換であれば、その擬似逆行列は、それを対角化し、すべての非ゼロ固有値をそれらの逆数に、ゼロ固有値をゼロに写すことで計算できる。当然、 が転置について可換であるとは、それがその擬似逆行列で可換であることを意味します。
直交射影行列 編集
これは、固有値が0と1の正規行列の特殊なケースである。 が直交射影行列、つまり、 かつ であれば、擬似逆行列は行列自体と自明に一致する:
巡回行列 編集
が巡回行列の場合、フーリエ変換で特異値分解ができる。つまり、特異値はフーリエ係数となる。 を離散フーリエ変換(DFT)行列とすると[16]、
構造 編集
ランク分解 編集
で の ランクを表すとする。すると は として(ランク)分解することができる。ここで、 のランクは である。このとき
となる[17]。
QR分解 編集
で積 やそれらの逆行列を直接計算すると、実際には数値の丸め誤差や計算コストがたびたび生じる。逆行列の計算には、上記の代わりに のQR分解を用いる方法がある。
が列フルランクの場合を考える。このとき である。すると、コレスキー分解 ( は上三角行列)を用いることができる。逆行列の乗算は、複数右辺ベクトルを持つ連立方程式を解くことで簡単に行える。
コレスキー分解の代わりに QR分解 を用いることで、 を明示的に構築せずに計算できる。ここで、 は正規直交列を持ち、 、そして 上三角行列である。このとき
行フルランクの場合は、式 を用い、 と を入れ替えた同様の議論で対処可能である。
特異値分解(SVD) 編集
計算上単純で正確な擬似逆行列を計算する方法は、特異値分解である[15][9][18]。 を の特異値分解とすると、 となる。 のような長方対角行列の場合、対角成分の各非ゼロ要素は逆数を取り、ゼロをそのままにして、行列を転置することにより、擬似逆行列が得られる。数値計算では、許容誤差よりも大きい要素のみが非ゼロと見なされ、他の要素はゼロに置き換えられる。たとえば、 MATLABやGNUOctaveのpinv関数の場合、許容誤差は t = ε⋅max(m, n)⋅max(Σ) で与えられる。ここで、εは計算機イプシロンである。
この方法の計算コストは、SVDの計算コストが支配的である。これは、最先端の実装(LAPACKなど)が使用されている場合でも、行列同士の乗算よりも数倍重い。
上記の手順は、擬似逆行列の計算が連続演算ではない理由を示している。元の行列 が特異値0(上記行列 の対角成分)を持つ場合、 のわずかな変更によってこのゼロが小さな正の数に変わる可能性があり、それによって、小さな数の逆数を求める必要が生じ、擬似逆行列に大きな影響を与えうる。
ブロック行列 編集
ブロック構造化された行列の擬似逆行列を計算するための最適化されたアプローチが存在する。
ベン・イスラエル(Ben-Israel)とコーエン(Cohen)の反復法 編集
他に、再帰を用いて擬似逆行列を計算する方法(ドラジン逆行列を参照)がある。
擬似逆行列の更新 編集
が行または列フルランクで、かつ相関行列の逆行列( が行フルランクの場合は 、列フルランクの場合は )がすでに既知であるならば、 に関連する行列の擬似逆行列は、シャーマン・モリソン・ウッドベリーの式を適用して相関行列の逆行列を更新することで計算できる。これにより、必要な作業が少なて済む可能性がある。特に関連する行列について、変更、追加、または削除された行・列のみが元の行列と異なる場合、その関係を利用する増分アルゴリズムが存在する [21]。
同様に、行または列が追加されたときに、相関行列の逆行列を明示的に作成せずに、コレスキー係数を更新することができる。ただし、一般のランク不足の場合、擬似逆行列の更新は非常に複雑である[22] [23]。
ソフトウェアライブラリ 編集
SVD、QR、および後方代入の高品質な実装は、 LAPACKなどの標準ライブラリで利用できる。 SVDの独自実装の作成には、高度な数値計算の専門知識を必要とする。ただし、並列コンピューティングや組み込みコンピューティングなどの特殊な状況では、QRによる代替実装、または明示的な逆行列の使用が望ましい場合があり、独自実装は避けられない場合がある。
PythonパッケージNumPyでは、関数matrix.I
とlinalg.pinv
を利用できる。pinv
はSVDベースのアルゴリズムを使用する。 SciPyでは、最小二乗ソルバーを使用する関数scipy.linalg.pinv
を利用できる。
RのMASSパッケージでは、 ginv
関数でムーア・ペンローズ逆行列の計算が行える[24]。 ginv
関数は、ベースRパッケージのsvd
関数による特異値分解を使用して擬似逆行列を計算する。他に、pracmaパッケージで利用可能なpinv
関数を使用する方法もある。
Octaveプログラミング言語は、標準パッケージ関数pinv
およびpseudo_inverse()
メソッドを介して擬似逆行列を計算できる。
Julia(プログラミング言語)では、標準ライブラリのLinearAlgebraパッケージが、特異値分解を介して実装されたムーア・ペンローズ逆行列の実装 pinv()
を提供する[25]。
応用 編集
線型最小二乗法 編集
擬似逆行列によって、連立一次方程式の最小二乗解が求まる[26]。 を係数行列とする以下の連立一次方程式が与えられた場合を考える。
- 任意の について、 となる。ここで、 であり、 はユークリッドノルムを表す。等号は、任意のベクトル が を満たすとき、またそのときに限って成り立つ。 が列フルランク( が零行列)でない限り、これは無数の最小解を与える。[27] 最小ユークリッドノルムの解は である。[27]
ユークリッドノルムをフロベニウスノルムに置き換えると、複数右辺ベクトルを持つ連立方程式に簡単に拡張できる。 とすると、次のようになる。
- 任意の について、 となる。ここで であり、 はフロベニウスノルムを表す。
線型連立方程式のすべての解の求解 編集
を係数行列とする以下の線型連立方程式が複数の解を持つとする。
線型連立方程式の最小ノルム解 編集
一意でない解(劣決定系など)を持つ線型連立方程式 では、擬似逆行列を使用して、すべての解の中で最小のユークリッドノルム の解を構築できる。
- ならば、ベクトル は解であり、すべての解に対して が成り立つ。
ユークリッドノルムをフロベニウスノルムに置き換えると、複数右辺ベクトルを持つ連立方程式に簡単に拡張できる。 とすると、次のようになる。
- ならば、行列 は解であり、すべての解に対して が成り立つ。
条件数 編集
擬似逆行列と行列ノルムを使用して、任意の行列の条件数を定義できる。
一般化 編集
実数と複素数の行列に加えて、条件は「複素数四元数」とも呼ばれる双四元数の行列にも当てはまる[30]。
より一般的な最小二乗問題を解くためには、すべての連続線型演算子に対して、2つのヒルベルト空間 の間でムーア・ペンローズ逆演算子 を定義できる。その際、上記の定義と同じ4つの条件を用いる。ここから、すべての連続線型演算子が連続線型擬似逆演算子を持つわけではないことがわかる[29]。擬似逆演算子を持つのは、値域が に閉じている場合に限られる。
擬似逆行列の概念は、任意の対合自己同型を備えた任意の体上の行列に存在する。このような一般的な前提では、特定の行列に対して常に擬似逆行列があるとは限らない。擬似逆行列が存在するための必要十分条件は、 であり、ここで は の転置に対合演算を適用した結果を表す。擬似逆行列が存在するならば、それは一意に定まる[31]。
例:(記事の他の場所で検討されている対合とは対照的に)恒等対合を備えた複素数体を考える。この意味で擬似逆行列を持たない行列は存在するだろうか?行列 を考えると、 である一方 であることがわかる。したがって、行列 には、この意味での擬似逆行列は存在しない。
関連項目 編集
脚注 編集
- ^ Ben-Israel & Greville 2003, p. 7.
- ^ Campbell & Meyer, Jr. 1991, p. 10.
- ^ Nakamura 1991, p. 42.
- ^ Rao & Mitra 1971, p. 50–51.
- ^ a b c 伊理 2009, 第7章一般逆行列
- ^ Moore, E. H. (1920). “On the reciprocal of the general algebraic matrix”. Bulletin of the American Mathematical Society 26 (9): 394–95. doi:10.1090/S0002-9904-1920-03322-7 .
- ^ Bjerhammar, Arne (1951). “Application of calculus of matrices to method of least squares; with special references to geodetic calculations”. Trans. Roy. Inst. Tech. Stockholm 49.
- ^ a b Penrose, Roger (1955). “A generalized inverse for matrices”. Proceedings of the Cambridge Philosophical Society 51 (3): 406–13. Bibcode: 1955PCPS...51..406P. doi:10.1017/S0305004100030401.
- ^ a b c d e Golub, Gene H.; Charles F. Van Loan (1996). Matrix computations (3rd ed.). Baltimore: Johns Hopkins. pp. 257–258. ISBN 978-0-8018-5414-9
- ^ a b c Stoer, Josef; Bulirsch, Roland (2002). Introduction to Numerical Analysis (3rd ed.). Berlin, New York: Springer-Verlag. ISBN 978-0-387-95452-3.
- ^ Greville, T. N. E. (1966-10-01). “Note on the Generalized Inverse of a Matrix Product”. SIAM Review 8 (4): 518–521. doi:10.1137/1008107. ISSN 0036-1445 .
- ^ Maciejewski, Anthony A.; Klein, Charles A. (1985). “Obstacle Avoidance for Kinematically Redundant Manipulators in Dynamically Varying Environments”. International Journal of Robotics Research 4 (3): 109–117. doi:10.1177/027836498500400308.
- ^ Rakočević, Vladimir (1997). “On continuity of the Moore–Penrose and Drazin inverses”. Matematički Vesnik 49: 163–72 .
- ^ Golub, G. H.; Pereyra, V. (April 1973). “The Differentiation of Pseudo-Inverses and Nonlinear Least Squares Problems Whose Variables Separate”. SIAM Journal on Numerical Analysis 10 (2): 413–32. Bibcode: 1973SJNA...10..413G. doi:10.1137/0710036. JSTOR 2156365.
- ^ a b Ben-Israel & Greville 2003.
- ^ Stallings, W. T.; Boullion, T. L. (1972). “The Pseudoinverse of an r-Circulant Matrix”. Proceedings of the American Mathematical Society 34 (2): 385–88. doi:10.2307/2038377. JSTOR 2038377.
- ^ 室田 & 杉原 2013, 第6章一般逆行列
- ^ Linear Systems & Pseudo-Inverse
- ^ Ben-Israel, Adi; Cohen, Dan (1966). “On Iterative Computation of Generalized Inverses and Associated Projections”. SIAM Journal on Numerical Analysis 3 (3): 410–19. Bibcode: 1966SJNA....3..410B. doi:10.1137/0703035. JSTOR 2949637.pdf
- ^ Söderström, Torsten; Stewart, G. W. (1974). “On the Numerical Properties of an Iterative Method for Computing the Moore–Penrose Generalized Inverse”. SIAM Journal on Numerical Analysis 11 (1): 61–74. Bibcode: 1974SJNA...11...61S. doi:10.1137/0711008. JSTOR 2156431.
- ^ Emtiyaz, Mohammad (February 27, 2008). Updating Inverse of a Matrix When a Column is Added/Removed .
- ^ Meyer, Jr., Carl D. (1973). “Generalized inverses and ranks of block matrices”. SIAM J. Appl. Math. 25 (4): 597–602. doi:10.1137/0125057.
- ^ Meyer, Jr., Carl D. (1973). “Generalized inversion of modified matrices”. SIAM J. Appl. Math. 24 (3): 315–23. doi:10.1137/0124033.
- ^ “R: Generalized Inverse of a Matrix”. 2022年4月10日閲覧。
- ^ “LinearAlgebra.pinv”. 2022年4月10日閲覧。
- ^ Penrose, Roger (1956). “On best approximate solution of linear matrix equations”. Proceedings of the Cambridge Philosophical Society 52 (1): 17–19. Bibcode: 1956PCPS...52...17P. doi:10.1017/S0305004100030929.
- ^ a b Planitz, M. (October 1979). “Inconsistent systems of linear equations”. Mathematical Gazette 63 (425): 181–85. doi:10.2307/3617890. JSTOR 3617890.
- ^ a b James, M. (June 1978). “The generalised inverse”. Mathematical Gazette 62 (420): 109–14. doi:10.1017/S0025557200086460.
- ^ a b Hagen, Roland; Roch, Steffen; Silbermann, Bernd (2001). “Section 2.1.2”. C*-algebras and Numerical Analysis. CRC Press
- ^ Tian, Yongge. "Matrix Theory over the Complex Quaternion Algebra". arXiv:math/0004005。
- ^ Pearl, Martin H. (1968-10-01). “Generalized inverses of matrices with entries taken from an arbitrary field” (英語). Linear Algebra and Its Applications 1 (4): 571–587. doi:10.1016/0024-3795(68)90028-1. ISSN 0024-3795 .
参考文献 編集
- 伊理正夫『線形代数汎諭』朝倉書店〈基礎数理講座〉、2009年。ISBN 978-4-254-11778-3。
- 室田一雄、杉原正顯『線形代数II』丸善出版〈東京大学工学教程基礎系数学〉、2013年。ISBN 978-4-621-08714-5。
- Ben-Israel, Adi; Greville, Thomas N.E. (2003). Generalized inverses: Theory and applications (2nd ed.). New York, NY: Springer. doi:10.1007/b97366. ISBN 978-0-387-00293-4
- Campbell, S. L.; Meyer, Jr., C. D. (1991). Generalized Inverses of Linear Transformations. Dover. ISBN 978-0-486-66693-8
- Nakamura, Yoshihiko (1991). Advanced Robotics: Redundancy and Optimization. Addison-Wesley. ISBN 978-0201151985
- Rao, C. Radhakrishna; Mitra, Sujit Kumar (1971). Generalized Inverse of Matrices and its Applications. New York: John Wiley & Sons. p. 240. ISBN 978-0-471-70821-6
外部リンク 編集
- Pseudoinverse - PlanetMath.(英語)
- Interactive program & tutorial of Moore–Penrose Pseudoinverse
- Moore–Penrose generalized inverse - PlanetMath.(英語)
- Weisstein, Eric W. "Pseudoinverse". mathworld.wolfram.com (英語).
- Weisstein, Eric W. "Moore–Penrose Inverse". mathworld.wolfram.com (英語).
- The Moore–Penrose Pseudoinverse. A Tutorial Review of the Theory
- Online Moore-Penrose Inverse calculator