Eigen decomposition of a large spasre matrix

AI Thread Summary
Finding eigenvalues and eigenvectors for a large 12000 x 12000 sparse matrix in MATLAB is challenging due to memory limitations, particularly with only 4GB of RAM. The command [V D] = eigs(R) results in an out-of-memory error. Suggestions include using ARPACK or ARPACK++ with C/C++ for efficient computation, as traditional sparse matrix methods may not work well if a significant number of eigenvalues are required. The user needs at least the first seven eigenvalues and corresponding eigenvectors. While Mathematica offers methods for handling sparse matrices, converting the matrix from MATLAB format is cumbersome and impractical for such a large matrix. Numerical methods involving iterations are recommended, but the user lacks familiarity with implementing ARPACK in Fortran77 or LAPACK in C, highlighting a need for guidance on these numerical techniques.
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.
 

Similar threads

Replies
4
Views
2K
Replies
3
Views
2K
Replies
13
Views
3K
Replies
2
Views
2K
Replies
3
Views
1K
Back
Top