How does the eig function calculate its values?
19 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
In this case: [V,D] = eig(A) D is the right eigenvectors and V is the eigenvalues. I've used the Eigen library (in c++) to calculate the eigenvalues for the same matrix but the results are different.
0 comentarios
Respuestas (2)
Walter Roberson
el 5 de Nov. de 2017
The documentation for eig() hints that one of chol() or qr() is used, and hints that qr() is always used if A is not symmetric. The generalized eigenvalue, eig(A,B), is documented as accepting an 'algorithm' option to choose between qr and chol, but the regular eigenvalue is not documented as having that, which I would interpret as indicating that it probably uses qr
1 comentario
Christine Tobler
el 6 de Nov. de 2017
The algorithms 'chol' and 'qz' are both specific to the generalized eigenvalue problem. For standard eigenvalue problems, there are no options about which algorithm is used.
Christine Tobler
el 6 de Nov. de 2017
Could you tell us what your results are? Eigenvectors are not uniquely defined, so it's possible for them to look quite different even when using the same algorithm on a different machine due to roundoff. Are the eigenvalues also different?
To check if eigenvalues and eigenvectors are correct without comparing to other results, you can compute A*V - V*D, which should return a matrix containing only round-off values.
0 comentarios
Ver también
Categorías
Más información sobre Linear Algebra en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!