Eigen decomposition of a large spasre matrix

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
2 replies · 3K views
Mecas
Messages
2
Reaction score
0
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 .
 
Physics news on Phys.org
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.
 
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 that's where the arpack with fotran77 or lapack with C come in but I am not familiar with them.