pseudoinverse
pinv(A,[tol])
:A real or complex matrix : :tol real number :
X= pinv(A) produces a matrix X of the same dimensions as A’ such that:
A*X*A = A, X*A*X = X and both A*X and X*A are Hermitian .
The computation is based on SVD and any singular values lower than a tolerance are treated as zero: this tolerance is accessed by X=pinv(A,tol).
A=`rand`_(5,2)*`rand`_(2,4);
`norm`_(A*pinv(A)*A-A,1)
pinv function is based on the singular value decomposition (Scilab function svd).