diff options
author | Gael Guennebaud <g.gael@free.fr> | 2015-05-07 15:54:07 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2015-05-07 15:54:07 +0200 |
commit | c2107d30ce9b9f30ff1f2d436667f3d09a4d9bd5 (patch) | |
tree | 0c38d7f2023d51753a37f1f04f489491e2901a5f /test/eigensolver_selfadjoint.cpp | |
parent | ebf8ca4fa8c390806cfece958743234a8303f7bb (diff) |
Extend unit tests of sefladjoint-eigensolver
Diffstat (limited to 'test/eigensolver_selfadjoint.cpp')
-rw-r--r-- | test/eigensolver_selfadjoint.cpp | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/test/eigensolver_selfadjoint.cpp b/test/eigensolver_selfadjoint.cpp index 7b0077a6d..4748bdd0b 100644 --- a/test/eigensolver_selfadjoint.cpp +++ b/test/eigensolver_selfadjoint.cpp @@ -9,9 +9,12 @@ // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. #include "main.h" +#include "svd_fill.h" #include <limits> #include <Eigen/Eigenvalues> + + template<typename MatrixType> void selfadjointeigensolver(const MatrixType& m) { typedef typename MatrixType::Index Index; @@ -31,17 +34,8 @@ template<typename MatrixType> void selfadjointeigensolver(const MatrixType& m) MatrixType symmA = a.adjoint() * a + a1.adjoint() * a1; MatrixType symmC = symmA; - // randomly nullify some rows/columns - { - Index count = 1;//internal::random<Index>(-cols,cols); - for(Index k=0; k<count; ++k) - { - Index i = internal::random<Index>(0,cols-1); - symmA.row(i).setZero(); - symmA.col(i).setZero(); - } - } - + svd_fill_random(symmA,Symmetric); + symmA.template triangularView<StrictlyUpper>().setZero(); symmC.template triangularView<StrictlyUpper>().setZero(); |