# n different eigenvalues but less then n linearly independent eigenvectors

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$ distinct eigenvalues implies $n$ linearly independent eigenvectors. Why don't you get a book on numerical analysis and turn to the section on eigenvalues and such? – Graphth Mar 13 '12 at 14:03
"Machine precision" is not the same as "precision of the method". – Martin Argerami Mar 13 '12 at 14:36

## 1 Answer

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.

-