Registered Member
|
I am using Eigen3 to calculate the eigenvalues and eigenvectors of lots of matrices. Some of these matrices are a bit big (i.e. 18000x18000) and when I use the eigensolver on them I get an error at runtime.
After some research I found out that it crashes with matrixsize of 16000 and above. Here is the code I use:
It never reaches the first system("PAUSE"); before that I get:
When I press Retry then I only get the message that main.exe has stopped working, so thats not very usefull either. Is this a known limitation of Eigen3 or am I doing something wrong? extra info: Win7 x64 Visual Studio C++ 2010 Express (Plz let me know if you need more info) |
Moderator
|
You probably ran out of memory. With such large matrices you should consider using a sparse eigen-decomposiiton, assuming your matrices are sparse. If you are only interested by the largest eigenvalues with a high probability, there is: http://code.google.com/p/redsvd/ which uses Eigen's matrices. Otherwise slepc is a reference but more painful to use.
|
Registered users: Bing [Bot], Google [Bot], Yahoo [Bot]