Covariance matrix with complex eigenvalues I know this is not strictly possible, but it's in a computer algorithm context.  The eigenvalues end up with very small imaginary components (in MATLAB).  This doesn't always happen, but happens with certain inputs to the program with catastrophic results.  Just looking at it, I see nothing out of the ordinary (such as very large off diagonals or huge scaling differences along the diagonal).  Can anyone lend insight as to what might cause this situation?  For example, other matrix problems occur when the uncertainty in one element is many orders of magnitude different than another, or when two elements are nearly 100% correlated.  I'm not sure what to make of this situation.

A covariance matrix is a real symmetric matrix, so its eigenvalues should be real.  However, numerical algorithms that don't assume (or detect) that the matrix is symmetric might return small imaginary components due to roundoff error.  It will depend on what algorithm is being used.  
I think Matlab is usually pretty good at detecting a symmetric matrix, and using the appropriate algorithm when it is symmetric.  However, it is possible that the matrix you're actually providing to Matlab is slightly non-symmetric due to roundoff error.  If that's the case, you might get better results by re-symmetrizing the matrix: instead of $A$ use $(A+A')/2$.  
Can you provide more details, maybe an example of a matrix where this occurs?
