added rounding error negative eigenvalues check for cholesky