pseudo inverse matrix calculation


eigen
02-08-2005, 12:09 AM
Hi All. Is there anyone out there who knows an algorithm to calculate the pseudo-inverse of a matrix? Thanks!:)

evgeny
04-25-2005, 08:03 AM
For non-singular square matrices, the pseudoinverse is equivalent to the standard inverse.
Using SVD singular value decomposition A=Transpose[U].W.V,
it is possible to define a pseudoinverse for non-square matrices A, or for singular square ones.
The pseudoinverse is defined in SVD terms as

PseudoInverse[A]=Transpose[V].Inverse[W].U

By the way, I need a function for SVD, specially designed for upper-triangular matrices (not dense as svdcmp(), with a non-zeroed main diagonal). I will be appriciate for any reference to algorithm or code.

Evgeny