Question about number format
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
When I calculate the eigenvectors of the following matrix:
mat=[1,2;2,1];
[V,D]=eig(mat)
I get:
V =
-0.7071 0.7071
0.7071 0.7071
However, this is not the correct answer, see Wolfram Alpha results or verify by yourself that the correct answer are the vectors:
[1,1] and [-1,1]
Could someone explain to be what went wrong here?
0 commentaires
Réponse acceptée
Steven Lord
le 14 Déc 2018
However, this is not the correct answer
You're assuming there is only one correct answer. That is not a valid assumption in this case.
Multiplying the eigenvector by any non-zero scalar just scales the eigenvector, and that scaled eigenvector still satisfies the equation that eigenvectors must satisfy. This makes sense if you look at the essential definition according to Wikipedia.
"In essence, an eigenvector v of a linear transformation T is a non-zero vector that, when T is applied to it, does not change direction. Applying T to the eigenvector only scales the eigenvector by the scalar value λ, called an eigenvalue."
See this example:
% Compute eigenvalues and eigenvectors
% A = magic(6)
[V, D] = eig(A)
% Does the first eigenvalue and eigenvector satisfy A*V = V*D?
shouldBeCloseToZeroVector1 = A*V(:, 1) - V(:, 1) * D(1, 1) % Close enough
% Multiple the first eigenvector by 2
twice = 2*V(:, 1);
% Does two times the first eigenvalue and eigenvector satisfy A*V = V*D?
shouldBeCloseToZeroVector2 = A*twice - twice * D(1, 1) % Also close enough
This is not a bug.
Plus de réponses (1)
Mark Sherstan
le 14 Déc 2018
Modifié(e) : Mark Sherstan
le 14 Déc 2018
The answer is correct, MATLAB is just outputting the unit vector answer.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/199042/image.png)
0 commentaires
Voir également
Catégories
En savoir plus sur Linear Algebra dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!