eigs - Error with ARPACK routine znaupd: info = -8
이전 댓글 표시
I am trying to find the eigenvalues and -vectors of a large-ish (4400x4400 elements) sparse matrix using eigs().
When I define a small subset of eigenvalues to be found, e.g. 20 values with the largest imaginary part (option 'li'), the algorithm takes too long to converge. If I request almost all eigenvalues to be found, I manage to get a correct answer. At least, sometimes.
More often than not I get back the error below. This seems to be dependent on the number of eigenvalues I request. It works for k=3000 but not for k=4000 or k=2500.
Error using eigs (line ###)
Error with ARPACK routine znaupd: info = -8
Going through the documentation of the znaupd routine ( http://www.caam.rice.edu/software/ARPACK/UG/node138.html ), I have found that this error code means the following:
Error return from LAPACK eigenvalue calculation;
This description doesn't help me at all to pin point what goes wrong and what I can change to avoid getting these errors.
Can anyone tell me what exactly triggers this error, and how I fix my matrices/problem to avoid it?
답변 (1개)
Bill Greene
2014년 2월 6일
0 개 추천
I'm not certain what the problem is but I can suggest something to try.
I'll assume you really want around 20 eigenvalues. By default, the algorithm is using 40 Lanczos vectors during the iteration. I suggest you increase the number of vectors to something like 100 using the opts.p option to eigs.
If you really want several thousand eigenvalues, I suggest considering converting the matrix to full and using the eig function to calculate all of them.
Bill
댓글 수: 1
Matt J
2014년 2월 11일
Jeroen Commented:
Unfortunately it doesn't solve the problem.
Currently I'm circumventing the problem by setting sigma in eigs() to an estimated target eigenvalue instead of the option 'li' , requesting all the eigenvalues, and sorting them manually afterwards.
This seems to work for now, but is not really the answer to my problem.
카테고리
도움말 센터 및 File Exchange에서 Linear Algebra에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!