diff --git a/Eigen/IterativeLinearSolvers b/Eigen/IterativeLinearSolvers index 741bac824..315c2dd1e 100644 --- a/Eigen/IterativeLinearSolvers +++ b/Eigen/IterativeLinearSolvers @@ -34,7 +34,6 @@ #include "src/IterativeLinearSolvers/ConjugateGradient.h" #include "src/IterativeLinearSolvers/BiCGSTAB.h" #include "src/IterativeLinearSolvers/IncompleteLUT.h" -#include "src/IterativeLinearSolvers/MINRES.h" #include "src/Core/util/ReenableStupidWarnings.h" diff --git a/unsupported/Eigen/IterativeSolvers b/unsupported/Eigen/IterativeSolvers index 6c6946d91..7a5776d9c 100644 --- a/unsupported/Eigen/IterativeSolvers +++ b/unsupported/Eigen/IterativeSolvers @@ -34,6 +34,7 @@ #include "../../Eigen/Householder" #include "src/IterativeSolvers/GMRES.h" //#include "src/IterativeSolvers/SSORPreconditioner.h" +#include "src/IterativeSolvers/MINRES.h" //@} diff --git a/Eigen/src/IterativeLinearSolvers/MINRES.h b/unsupported/Eigen/src/IterativeSolvers/MINRES.h similarity index 100% rename from Eigen/src/IterativeLinearSolvers/MINRES.h rename to unsupported/Eigen/src/IterativeSolvers/MINRES.h diff --git a/unsupported/test/CMakeLists.txt b/unsupported/test/CMakeLists.txt index ff0137ec6..1e8ba7240 100644 --- a/unsupported/test/CMakeLists.txt +++ b/unsupported/test/CMakeLists.txt @@ -85,4 +85,4 @@ ei_add_test(polynomialutils) ei_add_test(kronecker_product) ei_add_test(splines) ei_add_test(gmres) - +ei_add_test(minres) diff --git a/unsupported/test/minres.cpp b/unsupported/test/minres.cpp new file mode 100644 index 000000000..46946ca8b --- /dev/null +++ b/unsupported/test/minres.cpp @@ -0,0 +1,33 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// Copyright (C) 2011 Gael Guennebaud +// Copyright (C) 2012 Giacomo Po +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + +#include "../../test/sparse_solver.h" +#include + +template void test_minres_T() +{ + minres, DiagonalPreconditioner > minres_colmajor_diag; + minres, IdentityPreconditioner > minres_colmajor_I; + minres, IncompleteLUT > minres_colmajor_ilut; + //minres, SSORPreconditioner > minres_colmajor_ssor; + + CALL_SUBTEST( check_sparse_square_solving(minres_colmajor_diag) ); +// CALL_SUBTEST( check_sparse_square_solving(minres_colmajor_I) ); + CALL_SUBTEST( check_sparse_square_solving(minres_colmajor_ilut) ); + //CALL_SUBTEST( check_sparse_square_solving(minres_colmajor_ssor) ); +} + +void test_minres() +{ + for(int i = 0; i < g_repeat; i++) { + CALL_SUBTEST_1(test_minres_T()); + CALL_SUBTEST_2(test_minres_T >()); + } +}