Number of eigenvalues when using eigs

조회 수: 5 (최근 30일)
Thomas
Thomas 2011년 12월 6일
댓글: Andrew Knyazev 2015년 5월 15일
Dear all,
I specify a certain number of eigenvalues eigs should return e.g. [V,D]=eigs(A,B,100,'lr'). I hardly get 100 eigenvalues. Usually I get much less than 100 eigenvalues. Anyone knows why this is so? I need to compare all the 100 eigenvalues for my problem. A and B are large sparse matrices (on the order of a few thousand entries).
Thomas
  댓글 수: 1
the cyclist
the cyclist 2011년 12월 6일
I was not able to replicate the behavior. Are you able to give a simply specified version that exhibits the behavior? Are you able to scale down the size and still see it?
Also, eigs() is not a built-in, so you might get a clue about what is going on breakpointing inside the function and going through step-by-step.

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

답변 (2개)

Mark Stone
Mark Stone 2015년 5월 15일
편집: Mark Stone 2015년 5월 15일
eigs does not always converge, even if maximum number of iterations is significantly increased and/or solution tolerance decreased. Furthermore, it is random, i.e., non-repeatable, even on the exact same matrix unless random numbers are controlled to be the same at invocation.
eig is much more robust than eigs, and execution time of eigs is more unpredictable than eig, and can be longer. I've run nonlinear optimization algorithms in which eigenvalues (maybe the most extreme 1 or 2) appear in the objective function and/or constraints - even though the algorithm might start and finish (if it ever gets there) in a nice neighborhood in which eigs works just fine, the algorithm might have to go through some unseemly areas along the way, and eigs has a propensity for getting into trouble somewhere and muck everything up. I've rendered eigs to the ash heap of history after wasting too much time dealing with its nonsense. Someone should shoot it and put it out of the misery it causes.

Andrew Knyazev
Andrew Knyazev 2015년 5월 15일
This is normal for eigs.

카테고리

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