[SciPy-Dev] restarting the discussion about sparse SVD
Thu Mar 18 23:41:15 CDT 2010
On Thu, Mar 18, 2010 at 1:55 PM, David Warde-Farley <email@example.com> wrote:
> A friend of mine yesterday was a bit shocked/annoyed when he realized
> there was no way currently in SciPy to compute the SVD of a sparse
It is actually not true anymore, I have added a simple sparse svd
based on arpack in scipy.sparse.linalg.eigen.arpack, but there is no
support for complex, etc...
> - I remember hearing that ARPACK contained a sparse SVD routine but I
> can't seem to find mention of it in the docs.
As far as I could see, ARPACK itself does not have SVD: the simple
example of computing SVD in arpack sources uses the eigensolver on
A'A. There are better techniques to do SVD on sparse matrix (PROPACK,
based on tri-diagonalization without intermediate A'A).
> - It also looks like the code in Divisi ( http://
> divisi.media.mit.edu ) would be helpful, and looking in the archives
> it looks like the authors may be receptive to relicensing bits of it
> for use in SciPy.
I think ARPACK is better (uses more recent techniques than SVDPACK, as
used in Divisi). The other technique (gradient-based) is not a "real"
SVD, but could still be useful,
More information about the SciPy-Dev