Question about number format
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Steven Lord
il 14 Dic 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.
Più risposte (1)
Mark Sherstan
il 14 Dic 2018
Modificato: Mark Sherstan
il 14 Dic 2018
The answer is correct, MATLAB is just outputting the unit vector answer.
, where i is either 1 or 2.
0 Commenti
Vedere anche
Categorie
Scopri di più su Linear Algebra in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!