1

While real symmetric matrices have real eigenvalues, their eigenvectors do not have to be real. If I am interpreting the conversation correctly, THIS math.stackexchange thread seems to suggest that it is, nonetheless, possible to choose a basis such that ALL of the eigenvectors are real. Is this true?

If so, how would I do this?

As a concrete example, I have a 448 x 448 real symmetric matrix. I compute the eigenvalues and eigenvectors using MATLAB and 24 of the eigenvectors that it returns are complex, all the rest are real. How can I make these 24 complex eigenvectors real?

okj
  • 2,569

1 Answers1

4

Yes: if $\lambda$ is a real eigenvalue of a real matrix $A$, there will be a basis of $\text{ker}(A - \lambda I)$ consisting of real eigenvectors.

I don't know why Matlab would return non-real eigenvectors for a real symmetric matrix. Are you sure it's exactly symmetric, no asymmetry caused by roundoff error or other processes? nnz(A - A') returns 0?

Robert Israel
  • 470,583
  • You were right, it wasn't quite symmetric due to numerical errors. I corrected it and all of the eigenvectors returned are real valued. Thanks! – okj Apr 19 '16 at 16:09