Question about number format
1 view (last 30 days)
Show older comments
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 Comments
Accepted Answer
Steven Lord
on 14 Dec 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.
More Answers (1)
Mark Sherstan
on 14 Dec 2018
Edited: Mark Sherstan
on 14 Dec 2018
The answer is correct, MATLAB is just outputting the unit vector answer.
, where i is either 1 or 2.
0 Comments
See Also
Categories
Find more on Linear Algebra in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!