Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Eigen decomposition of a large spasre matrix

  1. Jul 13, 2011 #1
    I have 12000 x 12000 R(data class single) sparse matrix, and I want to find its eigen values and vectors, but I can't do it in matlab, it gives out of memory error by doing
    [V D] = eigs(R)
    and I am using 4GB RAM , online help suggested using ARPACK or ARPACK++ with C/C++. please any alternative means or suggestion on how to solve this will be greatly appreciated .
  2. jcsd
  3. Jul 13, 2011 #2


    Staff: Mentor

    How many eigenvalues do you want? Typically sparse matrix methods are not possible if you want a sizable fraction of the eigenvalues. You need to use a method that only returns the first few and is designed for sparse matrices.

    I believe that Mathematica has such methods implemented but I have never used it myself. I don't know about other software.
  4. Jul 13, 2011 #3
    At least first 7, but I also need the eigenvectors as well, I have inquired about mathematica, I discovered I have to change the matrix R ( which is generated in matlab) into its format manually (quite impossible for a 12000 x 12000 matrix) which means there is not command that can easily do that in mathimatica. from research, its suggested to se numerical methods(iteration) for such large and sparse matrix but I don't how to go about it and thats where the arpack with fotran77 or lapack with C come in but Im not familiar with them.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook