From e1fa6c08c1d242b6772c9252b4a59a6c27eed357 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joan=20Vallv=C3=A9=20Navarro?= <jvallve@iri.upc.edu> Date: Wed, 17 Jun 2020 12:13:21 +0200 Subject: [PATCH] not computing eigenvectors to check posdef --- include/core/math/covariance.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/core/math/covariance.h b/include/core/math/covariance.h index 4721c3def..45cbdf3e1 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; } -- GitLab