Pseudo inverse of matrix: SVD vs $A^{T}(A.A^{T})^{-1}$

2.2k Views Asked by At

For a C++ implementation I have to calculate Moore Penrose Inverse (AKA pseudo inverse) of non squared matrices. I was wondering what are advantages and disadvantages of doing this by the use of SVD or $A^{T}(A.A^{T})^{-1}$.

I'm concerned about 1. Computational complexity and 2. Behavior of each method near or at singularity.