Wrong calculation of eigenvalues
Mostrar comentarios más antiguos
Hello all!
I'm trying to solve the generalized eigenvalue problem (A-λB)*V=0 and find the eigenvalues λ. Using qz command (or eig command for the problem (inv(B)*A-λI)*V=0) in Matlab I take the eigenvalues. In order to validate my results for a given eigenvalue λi, I calculate the det(A-λiB), which I want to be near zero. Unfortunately, I come up with a result of rank 1e80!!
Additionally, the condition number of the equivalent matrix inv(B)*A is of rank 1e9. Is this normal? I assume that I have to deal with a singular matrix, but I don't understand why Matlab doesn't warn me for that...
Please, any help would be appreciated.
Thanks, Antigoni
Respuesta aceptada
Más respuestas (1)
Matt J
el 27 de Jun. de 2013
0 votos
I calculate the det(A-λiB), which I want to be near zero
You should really look at rcond(A-λiB) instead of the determinant.
6 comentarios
As an example of why det() is unreliable, the following matrix is pretty clearly singular for numerical purposes, but has a huge determinant
>> A=diag(10*ones(90,1)); A(end)=1e-9;
>> det(A)
ans =
1.0000e+80
Matt J
el 27 de Jun. de 2013
Antigone Commented:
Hi Matt!
Thanks for the answer. I computed rcond(A-λiB) and is equal to 6.3025e-020 for the first eigenvalue. Documentation says that if rcond(X) is near 1, then X is well-conditioned, else if is near EPS, then X is badly conditioned. I think in my case, A-λiB is badly conditioned, right? So I should try to find alternative ways to compute eigenvalues? On the other hand, if I write [V,D]=eig(A,B) and compare A*V with B*V*D (as documentation of eig says), then these two results are very close. Which conclusion is the right one? I'm a bit confused here...
Hi Antigone. The result 6.3025e-020 is a good one. rcond measures how non-singular a matrix is (a more useful measure than the determinant). This result is telling you that A-λiB is highly singular, which is precisely what you wanted to verify.
Antigoni
el 27 de Jun. de 2013
Antigoni
el 27 de Jun. de 2013
Categorías
Más información sobre Eigenvalues & Eigenvectors en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!