Re: SVD for a large sparse matrix



vivek wrote:


Hi everyone,

I would like to know if there is a way to calculate the singular
value decomposition (SVD) of a large matrix.

The matrix dimension is of the size 17640 x 254016. It's currently
a
sparse matrix.

When i use the matlab's SVD function its gives "out of memory"
error
as it tries to convert the sparse matrix into a full one.

Then i tried using SVDS which is svd for sparse matrices, but the
problem with that one is that if matrix A is of size m by n then

U is of m by k
S is of k by k
V is of n by k

where k is an integer that you specify.

So if i do [U,S,V] = svds(A,10);

I'll get U = 17640 by 10, s = 10 by 10 and V = 254016 by 10 where
as
in a real SVD, if A is m by n,

U will be m by m
S will be m by n
V will be n by n

Can anyone help me ?

What is wrong with that?

So how will you expect to store a full version
of U and V? Remember they will be dense matrices
even if A was sparse.

HTH,
John D'Errico
.



Relevant Pages

  • Meschach - SVD on a sparse matrix
    ... I'm trying use meschach, compiling some programs, etc. because I need ... compute svd on a sparse matrix. ... There are, of course, sparse matrix packages that are ...
    (sci.math.num-analysis)
  • Re: Meschach - SVD on a sparse matrix
    ... I'm trying use meschach, compiling some programs, etc. because I need ... compute svd on a sparse matrix. ... There are, of course, sparse matrix packages that are ...
    (sci.math.num-analysis)
  • Re: Meschach - SVD on a sparse matrix
    ... compute svd on a sparse matrix. ... There are, of course, sparse matrix packages that are ... matrices are self-contained data structures, ...
    (sci.math.num-analysis)
  • Large & sparse SVD
    ... I need to compute the SVD of a large and sparse matrix: ... and 20 columns with 10% non-zero elements. ... memory everytime I tried. ...
    (sci.math.num-analysis)
  • SVD for a large sparse matrix
    ... value decomposition of a large matrix. ... The matrix dimension is of the size 17640 x 254016. ... When i use the matlab's SVD function its gives "out of memory" error ... as it tries to convert the sparse matrix into a full one. ...
    (comp.soft-sys.matlab)