diff options
author | Jitse Niesen <jitse@maths.leeds.ac.uk> | 2010-05-24 17:43:50 +0100 |
---|---|---|
committer | Jitse Niesen <jitse@maths.leeds.ac.uk> | 2010-05-24 17:43:50 +0100 |
commit | e7d809d4349fd4048777be71f1c803d0b13f8fe8 (patch) | |
tree | 11c1ef9908d0756958fde6c29de7f1f16d5dc639 /test/eigensolver_generic.cpp | |
parent | 8a3f552e39d3fee3ada1cfc1eb75b179c77f2a78 (diff) |
Update eigenvalues() and operatorNorm() methods in MatrixBase.
* use SelfAdjointView instead of Eigen2's SelfAdjoint flag.
* add tests and documentation.
* allow eigenvalues() for non-selfadjoint matrices.
* they no longer depend only on SelfAdjointEigenSolver, so move them to
a separate file
Diffstat (limited to 'test/eigensolver_generic.cpp')
-rw-r--r-- | test/eigensolver_generic.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/test/eigensolver_generic.cpp b/test/eigensolver_generic.cpp index f24c3b4ed..d70f37ea4 100644 --- a/test/eigensolver_generic.cpp +++ b/test/eigensolver_generic.cpp @@ -58,7 +58,10 @@ template<typename MatrixType> void eigensolver(const MatrixType& m) VERIFY_IS_APPROX(a * ei1.pseudoEigenvectors(), ei1.pseudoEigenvectors() * ei1.pseudoEigenvalueMatrix()); VERIFY_IS_APPROX(a.template cast<Complex>() * ei1.eigenvectors(), ei1.eigenvectors() * ei1.eigenvalues().asDiagonal()); + VERIFY_IS_APPROX(a.eigenvalues(), ei1.eigenvalues()); + MatrixType id = MatrixType::Identity(rows, cols); + VERIFY_IS_APPROX(id.operatorNorm(), RealScalar(1)); } template<typename MatrixType> void eigensolver_verify_assert() |