bug #793: fix overflow in EigenSolver and add respective regression unit test

This commit is contained in:
Gael Guennebaud
2014-04-14 11:43:08 +02:00
parent 91288e9bf9
commit 0587db8bf5
2 changed files with 27 additions and 1 deletions

View File

@@ -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<MatrixXd> 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)
}