# 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