Matrix PseudoInverse
The MATPINV Block outputs the inverse of a non square input matrix using the SVD theory. if the SVD decomposition of A is equal to:
A=USV’
The pseudoinverse X of A is given by:
X=VS”U’ where S”(i,j)=1/S(i,j) (if S(i,j) =0), U’ and V are respectively the transpose of U and V’.
and we have A*X*A=A and X*A*X=X. Both A*X and X*A are Hermitian. A warning message is printed if the input is badly scaled or nearly singular.
When the input is a MxN matrix the output is a NxM matrix.
The equivalent function of this block in Scilab is `pinv`_.