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!