From c9b5531d6c51fc8a4ee0b69beb42a5b8dba0b172 Mon Sep 17 00:00:00 2001 From: Jitse Niesen Date: Fri, 15 Apr 2011 17:39:59 +0100 Subject: Normalize eigenvectors returned by EigenSolver (fixes bug #249) because the documentation says that we do this. Also, add a unit test to cover this. --- test/eigensolver_generic.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'test/eigensolver_generic.cpp') diff --git a/test/eigensolver_generic.cpp b/test/eigensolver_generic.cpp index 26bea9b44..8476f026d 100644 --- a/test/eigensolver_generic.cpp +++ b/test/eigensolver_generic.cpp @@ -61,6 +61,7 @@ template void eigensolver(const MatrixType& m) VERIFY_IS_APPROX(a * ei1.pseudoEigenvectors(), ei1.pseudoEigenvectors() * ei1.pseudoEigenvalueMatrix()); VERIFY_IS_APPROX(a.template cast() * ei1.eigenvectors(), ei1.eigenvectors() * ei1.eigenvalues().asDiagonal()); + VERIFY_IS_APPROX(ei1.eigenvectors().colwise().norm(), RealVectorType::Ones(rows).transpose()); VERIFY_IS_APPROX(a.eigenvalues(), ei1.eigenvalues()); EigenSolver eiNoEivecs(a, false); -- cgit v1.2.3