From 0587db8bf5ca5d5eb6fb8df1c02abddd5b5718ba Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Mon, 14 Apr 2014 11:43:08 +0200 Subject: bug #793: fix overflow in EigenSolver and add respective regression unit test --- test/eigensolver_generic.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'test/eigensolver_generic.cpp') diff --git a/test/eigensolver_generic.cpp b/test/eigensolver_generic.cpp index 005af81eb..91383b5cf 100644 --- a/test/eigensolver_generic.cpp +++ b/test/eigensolver_generic.cpp @@ -121,5 +121,18 @@ void test_eigensolver_generic() } ); + // regression test for bug 793 +#ifdef EIGEN_TEST_PART_2 + { + MatrixXd a(3,3); + a << 0, 0, 1, + 1, 1, 1, + 1, 1e+200, 1; + Eigen::EigenSolver eig(a); + VERIFY_IS_APPROX(a * eig.pseudoEigenvectors(), eig.pseudoEigenvectors() * eig.pseudoEigenvalueMatrix()); + VERIFY_IS_APPROX(a * eig.eigenvectors(), eig.eigenvectors() * eig.eigenvalues().asDiagonal()); + } +#endif + TEST_SET_BUT_UNUSED_VARIABLE(s) } -- cgit v1.2.3