next up previous contents
Next: putenv Up: リファレンスマニュアル Previous: prod_row

  
pseudoinv

【目的】
pseudoinv - 擬似逆行列
【形式】
P = pseudoinv(A)     P = pseudoinv(A,tol)
   Matrix P;            Matrix P;
   Matrix A;            Matrix A;
                        Real tol;
【詳細】
pseudoinv(A)は,行列 A の擬似逆行列求める。pseudoinv(A,tol)は, tol より小さい A の特異値をゼロとみなし,行列の A のランクを決定し, 疑似逆行列を求める。tol を省略すると,EPS * frobnorm(A) が使われる。
【算法】
特異値分解を利用する。
【注意】
繰り返し計算で特異値が求まらない場合は,次のメッセージが表示される。

Solution will not converge

【例題】
>> A = [[1 2 3][4 5 6]];
>> P = pseudoinv(A)
=== [P] : (  3,  2) ===
           (  1)           (  2)     
(  1) -9.44444444E-01  4.44444444E-01
(  2) -1.11111111E-01  1.11111111E-01
(  3)  7.22222222E-01 -2.22222222E-01
>> A * P * A
=== [ans] : (  2,  3) ===
           (  1)           (  2)           (  3)     
(  1)  1.00000000E+00  2.00000000E+00  3.00000000E+00
(  2)  4.00000000E+00  5.00000000E+00  6.00000000E+00
【参照】
svd(2.231)


Masanobu KOGA 平成11年10月2日