pseudo_inverse INDEX

PSEUDO_INVERSE _ _ _ _ _ _ _ _ _ _ _ _ operator

syntax:

pseudo_inverse(<matrix>)

<matrix> :- a matrix.

pseudo_inverse, also known as the Moore-Penrose inverse, computes the pseudo inverse of <matrix>.

Given the singular value decomposition of <matrix>, i.e: A = U*P*V^T, then the pseudo inverse A^-1 is defined by A^-1 = V^T*P^-1*U.

Thus <matrix> * pseudo_inverse(A) = Id. (Id is the identity matrix).

examples:



R := mat((1,2,3,4),(9,8,7,6)); 

       [1  2  3  4]
  r := [          ]
       [9  8  7  6]



on rounded; 

pseudo_inverse(R); 

  [ - 0.199999999996      0.100000000013   ]
  [                                        ]
  [ - 0.0499999999988    0.0500000000037   ]
  [                                        ]
  [ 0.0999999999982     - 5.57825497203e-12]
  [                                        ]
  [  0.249999999995      - 0.0500000000148 ]

Related functions: svd.