Remove asserts that eigenvalue computation has converged (bug #354).

(transplanted from 1e7712771e7db58b22463ccde9f6b1dd40685d18
)
This commit is contained in:
Jitse Niesen 2011-12-12 17:17:38 +00:00
parent 01e13a273e
commit 05f45cfecd
2 changed files with 1 additions and 5 deletions

View File

@ -291,7 +291,7 @@ template<typename _MatrixType> class EigenSolver
ComputationInfo info() const ComputationInfo info() const
{ {
eigen_assert(m_isInitialized && "ComplexEigenSolver is not initialized."); eigen_assert(m_isInitialized && "EigenSolver is not initialized.");
return m_realSchur.info(); return m_realSchur.info();
} }

View File

@ -220,7 +220,6 @@ template<typename _MatrixType> class SelfAdjointEigenSolver
const MatrixType& eigenvectors() const const MatrixType& eigenvectors() const
{ {
eigen_assert(m_isInitialized && "SelfAdjointEigenSolver is not initialized."); eigen_assert(m_isInitialized && "SelfAdjointEigenSolver is not initialized.");
eigen_assert(info() == Success && "Eigenvalue computation did not converge.");
eigen_assert(m_eigenvectorsOk && "The eigenvectors have not been computed together with the eigenvalues."); eigen_assert(m_eigenvectorsOk && "The eigenvectors have not been computed together with the eigenvalues.");
return m_eivec; return m_eivec;
} }
@ -243,7 +242,6 @@ template<typename _MatrixType> class SelfAdjointEigenSolver
const RealVectorType& eigenvalues() const const RealVectorType& eigenvalues() const
{ {
eigen_assert(m_isInitialized && "SelfAdjointEigenSolver is not initialized."); eigen_assert(m_isInitialized && "SelfAdjointEigenSolver is not initialized.");
eigen_assert(info() == Success && "Eigenvalue computation did not converge.");
return m_eivalues; return m_eivalues;
} }
@ -268,7 +266,6 @@ template<typename _MatrixType> class SelfAdjointEigenSolver
MatrixType operatorSqrt() const MatrixType operatorSqrt() const
{ {
eigen_assert(m_isInitialized && "SelfAdjointEigenSolver is not initialized."); eigen_assert(m_isInitialized && "SelfAdjointEigenSolver is not initialized.");
eigen_assert(info() == Success && "Eigenvalue computation did not converge.");
eigen_assert(m_eigenvectorsOk && "The eigenvectors have not been computed together with the eigenvalues."); eigen_assert(m_eigenvectorsOk && "The eigenvectors have not been computed together with the eigenvalues.");
return m_eivec * m_eivalues.cwiseSqrt().asDiagonal() * m_eivec.adjoint(); return m_eivec * m_eivalues.cwiseSqrt().asDiagonal() * m_eivec.adjoint();
} }
@ -294,7 +291,6 @@ template<typename _MatrixType> class SelfAdjointEigenSolver
MatrixType operatorInverseSqrt() const MatrixType operatorInverseSqrt() const
{ {
eigen_assert(m_isInitialized && "SelfAdjointEigenSolver is not initialized."); eigen_assert(m_isInitialized && "SelfAdjointEigenSolver is not initialized.");
eigen_assert(info() == Success && "Eigenvalue computation did not converge.");
eigen_assert(m_eigenvectorsOk && "The eigenvectors have not been computed together with the eigenvalues."); eigen_assert(m_eigenvectorsOk && "The eigenvectors have not been computed together with the eigenvalues.");
return m_eivec * m_eivalues.cwiseInverse().cwiseSqrt().asDiagonal() * m_eivec.adjoint(); return m_eivec * m_eivalues.cwiseInverse().cwiseSqrt().asDiagonal() * m_eivec.adjoint();
} }