From: (Cleve Moler)
Newsgroups: comp.soft-sys.matlab
Subject: Re: Pseudoinverse in MATLAB
Date: 28 Mar 2001 17:32:07 GMT
Organization: The MathWorks, Inc., Natick, MA 01760
Lines: 34
Message-ID: <99t76n$kta$>
References: <> <> <>
Xref: comp.soft-sys.matlab:92750

In article <>,
Elias Kyriakides  <> wrote:
>Yes, but still there is the question about the SVD. This is an internal
>function and i am more interested about that.
>Pete Boettcher wrote:
>> Elias Kyriakides <> writes:
>> > Does anybody know how to get the actual code for the pseudoinverse in
>> > MATLAB? I am really interested to see the whole thing plus the Singular
>> > Value Decomposition SVD) and find out how it works.
>> >
>> > I would be really grateful if somebody has it or knows how i can get it.
>> type pinv
>> Or open the file $MATLABROOT/toolbox/matlab/matfun/pinv.m
>> -PB

Hi --

There is really only one SVD algorithm -- the original due to Golub
and Kahan, with improvements by Wilkinson and Reinsch.  It is described
in the books by Golub and Van Loan and by Stewart.  I believe that
Numerical Recipes has some code.  Before version 6, MATLAB used a C
implementation of the LINPACK code.  Now we use LAPACK's Fortran
subroutine DGESVD.  But all of the these are basically the same idea --
orthogonal reduction to a bidiagonal form and then QR iteration to
reduce the bidiagonal to diagonal.

 -- Cleve Moler