aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2008-12-19 14:15:32 +0000
committerGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2008-12-19 14:15:32 +0000
commite4980616fd2a28984bb00cd6481dcf111975187e (patch)
treefde6189eb805f9a1e304065d801db4828b97973d /test
parent84bb868f07361af7991abd1f0cdb8017af96c0a5 (diff)
SelfAdjointEigenSolver: add operatorSqrt() and operatorInverseSqrt()
Diffstat (limited to 'test')
-rw-r--r--test/eigensolver.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/test/eigensolver.cpp b/test/eigensolver.cpp
index c093e9474..653edb7ea 100644
--- a/test/eigensolver.cpp
+++ b/test/eigensolver.cpp
@@ -108,6 +108,9 @@ template<typename MatrixType> void selfadjointeigensolver(const MatrixType& m)
VERIFY((symmA * eiSymmGen.eigenvectors()).isApprox(
symmB * (eiSymmGen.eigenvectors() * eiSymmGen.eigenvalues().asDiagonal().eval()), largerEps));
+ MatrixType sqrtSymmA = eiSymm.operatorSqrt();
+ VERIFY(symmA.isApprox(sqrtSymmA*sqrtSymmA, ei_sqrt(test_precision<RealScalar>())));
+ VERIFY(sqrtSymmA.isApprox(symmA*eiSymm.operatorInverseSqrt(), ei_sqrt(test_precision<RealScalar>())));
}
template<typename MatrixType> void eigensolver(const MatrixType& m)