Perhaps this is a simple question but it keeps puzzling me. I have a large $nxn$ matrix $M$ (over the complex numbers, non-Hermitian) that has $n$ different eigenvalues. (I determined the eigenvalues numerically with MatLab and checked that they are all different. Minimal difference is of the order of $10^{-2}$ while machine precision is $10^{-15}$.) The problem is that I don't get $n$ linearly independent eigenvectors. So far I remember from my classes in Linear Algebra, this can only be the case when the matrix is defective and for a matrix to be defective, it must have less than $n$ different eigenvalues. Is this true? May be my problem is purely numerical. However, assume I have $n$ different eigenvalues. What is the best and numerically most stable way to construct the corresponding eigenvectors which have to be linearly independent?
n different eigenvalues but less then n linearly independent eigenvectors
1
$\begingroup$
eigenvalues-eigenvectors
-
0"Machine precision" is not the same as "precision of the method". – 2012-03-13
1 Answers
2
By definition, each eigenvalue has an associated eigenvector, so it is impossible that there are more eigenvalues than eigenvectors. This implies that you have in fact encountered a numerical problem, which is very common with direct eigenvalue calculations. Calculating an eigenvector for a given eigenvalue is fairly stable in most cases.
In fact, many common algorithms for the solution of eigenvector/eigenvalue problems start by finding (approximate) eigenvectors, for which the eigenvalue is then easy to calculate. If you are interested in both, just use the appropriate methods in MatLab.