checks positive-definiteness, and if it fails uses eigenvalues.
fixed the conflicts from home and work.