diff options
author | Gael Guennebaud <g.gael@free.fr> | 2017-01-31 14:22:42 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2017-01-31 14:22:42 +0100 |
commit | 53026d29d41e81065b28631445e8eb5c4044c187 (patch) | |
tree | 1f38ee49f72cb17a89711fb0c4fe6160945bb986 /test/eigensolver_selfadjoint.cpp | |
parent | 63de19c0004933c7b2b1e418292b9f2ae6c138f4 (diff) |
bug #478: fix regression in the eigen decomposition of zero matrices.
Diffstat (limited to 'test/eigensolver_selfadjoint.cpp')
-rw-r--r-- | test/eigensolver_selfadjoint.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/test/eigensolver_selfadjoint.cpp b/test/eigensolver_selfadjoint.cpp index 4ed126116..39ad4130e 100644 --- a/test/eigensolver_selfadjoint.cpp +++ b/test/eigensolver_selfadjoint.cpp @@ -180,6 +180,15 @@ template<typename MatrixType> void selfadjointeigensolver(const MatrixType& m) SelfAdjointEigenSolver<MatrixType> eig(a.adjoint() * a); eig.compute(a.adjoint() * a); } + + // regression test for bug 478 + { + a.setZero(); + SelfAdjointEigenSolver<MatrixType> ei3(a); + VERIFY_IS_EQUAL(ei3.info(), Success); + VERIFY_IS_MUCH_SMALLER_THAN(ei3.eigenvalues().norm(),RealScalar(1)); + VERIFY((ei3.eigenvectors().transpose()*ei3.eigenvectors().transpose()).eval().isIdentity()); + } } template<int> |