[Fwd: RE: Bug in SVD?]


Sender: Cleve Moler <Cleve.Moler@mathworks.com>
Subject: RE: Bug in SVD?


The documentation of the SVD program says that it only works on square and tall-skinny matrices.  That is m-by-n with m >= n.  Transpose your matrix, compute the SVD of the transpose, then interchanges and transpose U and V.
   -- Cleve Moler

-----Original Message-----
From: jama@nist.gov [mailto:jama@nist.gov] On Behalf Of Martin Breidt
Sent: Thursday, April 09, 2009 9:39 AM
To: Multiple recipients of list
Subject: Bug in SVD?

Hello,

hoping that this list and the development of the library is still 
active, I am sending this message in order to ask whether there might be 
a bug in the SVD code?

(I am using the dotNet port of this library, so apologies if this is 
related to the port)

Here's my problem:

The SVD computation produces wrong dimensions of the resulting matrices.

If you do a test with the example provided on Wikipedia 
(http://en.wikipedia.org/wiki/Singular_value_decomposition), this 
library produces wrong results as far as I can tell (FWIW, Matlab 
returns the same values given on Wikipedia).

After running the example (an SVD on a 4-by-5 matrix), the S matrix from 
the SVD object is a 5-by-5 matrix, whereas the correct result should be 
a 4-by-5 matrix. Also, the entries of the U and V matrix seem to be in 
the wrong order and/or have the wrong sign.

Finally, the singular values vector returned by the SVD object has five 
elements in this example, but, according to Wikipedia

"An m × n matrix M has at least one and at most p = min(m,n) distinct 
singular values."

so there should be a maximum of four singular values, not five.

If anyone is still following this mailing list, I'd very much like to 
hear whether anyone can confirm my findings and/or has a bug fix!
I'd really like to use this library for my work, but only if works with 
non-square matrices.

Thanks very much in advance
Martin












Date Index | Thread Index | Problems or questions? Contact list-master@nist.gov