# Moore-Penrose pseudo inverse algorithm implementation in Matlab

I am searching for a Matlab implementation of the Moore-Penrose algorithm (convertable to C++) computing pseudo-inverse matrix.

I tried several algorithms, "Fast Computation of Moore-Penrose Inverse Matrices" from Pierre Courrieu appeared good at the first look. However, the problem is that for large elements it produces badly scaled matrices and some internal operations fail.

It concerns the following steps:

L=L(:,1:r);
M=inv(L'*L);


I am trying to find a more robust solution which is easily implementable :-). Thanks for your help.

-
In what way does it fail, do you get an error message and if so which? – Dennis Jaheruddin Nov 12 '12 at 14:29
Enter >>edit pinv you could see the key step here is singular value decomposition. – Shuhao Cao Jun 8 '13 at 17:32

Use the inbuilt function pinv(...).