0
votes

I have a symmetric matrix with the elements A=[8.8191,0,1.0261; 0,3,0; 1.0261,0,3.1809]; I used the eig(A) function in MATLAB , the eigenvalues and eigenvectors are given :

eigvect =

0.1736         0    0.9848
     0   -1.0000         0
-0.9848         0    0.1736


eigval =

3.0000         0         0
     0    3.0000         0
     0         0   9.0000    

Eigenvalues are correct but the eigenvectors are not which I expect, because I think 2 of them should be equal. Does MATLAB calculate correctly the eigenvectors?

2

2 Answers

2
votes

The definition of an eigenvalue can be found anywhere on the web

A*v = lam*v

v being the eigenvector with lam, its corresponding eigenvalue.

So test your results:

i =1;
A*eigvect (:,i)-eigval(i,i)*eigvect(:,i) %which should be approx [0;0;0]
0
votes

It is not necessary that each of the repeating eigenvalue should have its (independent) associated eigenvector. This means, an nxn matrix with an eigenvalue repeating more than once has less or equal to n linearly independent eigenvectors.

Example 1: Matrix 2 0; 0 2 has eigenvalue 2 (repeating twice), but it has two linearly independent eigenvectors associated with eigenvalue 2

Example 2:Matrix A= 1 1 1 -2; 0 1 0 -1; 0 0 1 1; 0 0 0 1

has eigenvalue 1 (repeating four times), but it has only two independent eigenvectors associated with eigenvalue 1.