diff --git a/include/core/math/covariance.h b/include/core/math/covariance.h index 4721c3def15ec0f5cdf8371387daf989402dcc12..45cbdf3e1366fab06820ca54fad65cfa7e3af5fd 100644 --- a/include/core/math/covariance.h +++ b/include/core/math/covariance.h @@ -22,13 +22,15 @@ inline bool isSymmetric(const Eigen::Matrix<T, N, N, RC>& M, template <typename T, int N, int RC> inline bool isPositiveSemiDefinite(const Eigen::Matrix<T, N, N, RC>& M, const T& eps = Constants::EPS) { - Eigen::SelfAdjointEigenSolver<Eigen::Matrix<T, N, N, RC> > eigensolver(M); + Eigen::SelfAdjointEigenSolver<Eigen::Matrix<T, N, N, RC> > eigensolver(M, Eigen::EigenvaluesOnly); if (eigensolver.info() == Eigen::Success) { // All eigenvalues must be >= 0: return (eigensolver.eigenvalues().array() >= eps).all(); } + else + std::cout << "eigen decomposition failed" << std::endl; return false; }