diff --git a/test/eigensolver_complex.cpp b/test/eigensolver_complex.cpp index 32de327dd..dad5a69f8 100644 --- a/test/eigensolver_complex.cpp +++ b/test/eigensolver_complex.cpp @@ -29,7 +29,7 @@ template void eigensolver(const MatrixType& m) { /* this test covers the following files: - ComplexEigenSolver.h + ComplexEigenSolver.h, and indirectly ComplexSchur.h */ int rows = m.rows(); int cols = m.cols(); @@ -40,20 +40,13 @@ template void eigensolver(const MatrixType& m) typedef Matrix RealVectorType; typedef typename std::complex::Real> Complex; - // RealScalar largerEps = 10*test_precision(); - MatrixType a = MatrixType::Random(rows,cols); - MatrixType a1 = MatrixType::Random(rows,cols); - MatrixType symmA = a.adjoint() * a + a1.adjoint() * a1; + MatrixType symmA = a.adjoint() * a; -// ComplexEigenSolver ei0(symmA); + ComplexEigenSolver ei0(symmA); + VERIFY_IS_APPROX(symmA * ei0.eigenvectors(), ei0.eigenvectors() * ei0.eigenvalues().asDiagonal()); -// VERIFY_IS_APPROX(symmA * ei0.eigenvectors(), ei0.eigenvectors() * ei0.eigenvalues().asDiagonal()); - -// a.imag().setZero(); -// std::cerr << a << "\n\n"; ComplexEigenSolver ei1(a); -// exit(1); VERIFY_IS_APPROX(a * ei1.eigenvectors(), ei1.eigenvectors() * ei1.eigenvalues().asDiagonal()); } @@ -61,10 +54,8 @@ template void eigensolver(const MatrixType& m) void test_eigensolver_complex() { for(int i = 0; i < g_repeat; i++) { -// CALL_SUBTEST( eigensolver(Matrix4cf()) ); -// CALL_SUBTEST( eigensolver(MatrixXcd(4,4)) ); - CALL_SUBTEST( eigensolver(MatrixXcd(6,6)) ); -// CALL_SUBTEST( eigensolver(MatrixXd(14,14)) ); + CALL_SUBTEST( eigensolver(Matrix4cf()) ); + CALL_SUBTEST( eigensolver(MatrixXcd(14,14)) ); } } diff --git a/test/product_extra.cpp b/test/product_extra.cpp index 526dd210e..fcec362a5 100644 --- a/test/product_extra.cpp +++ b/test/product_extra.cpp @@ -59,7 +59,7 @@ template void product_extra(const MatrixType& m) // r0 = ei_random(0,rows/2-1), // r1 = ei_random(rows/2,rows); - VERIFY_IS_APPROX(m3.noalias() = m1 * m2.adjoint(), m1 * m2.adjoint().eval()); + VERIFY_IS_APPROX(m3.noalias() = m1 * m2.adjoint(), m1 * m2.adjoint().eval()); VERIFY_IS_APPROX(m3.noalias() = m1.adjoint() * square.adjoint(), m1.adjoint().eval() * square.adjoint().eval()); VERIFY_IS_APPROX(m3.noalias() = m1.adjoint() * m2, m1.adjoint().eval() * m2); VERIFY_IS_APPROX(m3.noalias() = (s1 * m1.adjoint()) * m2, (s1 * m1.adjoint()).eval() * m2);