replacing eigenvectors() with similaritytransform() for degen cases.  now to do so for the original non-degen case (which tells us if we even need to handle degenerate cases)