eigs - Error with ARPACK routine znaupd: info = -8

조회 수: 13 (최근 30일)
Jeroen
Jeroen 2014년 2월 4일
댓글: Matt J 2014년 2월 11일
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
Bill Greene 2014년 2월 6일
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
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.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Linear Algebra에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by