Could you break this into multiple commits?  The "handle complex eigenvectors" stuff seems to be relatively independent of the "handle sensitivity solves" stuff.