aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/eigensolver_selfadjoint.cpp
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2017-01-31 14:22:42 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2017-01-31 14:22:42 +0100
commit53026d29d41e81065b28631445e8eb5c4044c187 (patch)
tree1f38ee49f72cb17a89711fb0c4fe6160945bb986 /test/eigensolver_selfadjoint.cpp
parent63de19c0004933c7b2b1e418292b9f2ae6c138f4 (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.cpp9
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>