diff --git a/Eigen/src/QR/SelfAdjointEigenSolver.h b/Eigen/src/QR/SelfAdjointEigenSolver.h index fd73714dc..011ca0c01 100644 --- a/Eigen/src/QR/SelfAdjointEigenSolver.h +++ b/Eigen/src/QR/SelfAdjointEigenSolver.h @@ -58,7 +58,13 @@ template class SelfAdjointEigenSolver void compute(const MatrixType& matrix, bool computeEigenvectors = true); - MatrixType eigenvectors(void) const { ei_assert(m_eigenvectorsOk); return m_eivec; } + MatrixType eigenvectors(void) const + { + #ifndef NDEBUG + ei_assert(m_eigenvectorsOk); + #endif + return m_eivec; + } RealVectorType eigenvalues(void) const { return m_eivalues; } @@ -114,7 +120,9 @@ static void ei_tridiagonal_qr_step(RealScalar* diag, RealScalar* subdiag, int st template void SelfAdjointEigenSolver::compute(const MatrixType& matrix, bool computeEigenvectors) { + #ifndef NDEBUG m_eigenvectorsOk = computeEigenvectors; + #endif assert(matrix.cols() == matrix.rows()); int n = matrix.cols(); m_eivalues.resize(n,1);