Home | History | Annotate | Download | only in test
      1 // This file is part of Eigen, a lightweight C++ template library
      2 // for linear algebra.
      3 //
      4 // Copyright (C) 2011 Gael Guennebaud <g.gael (at) free.fr>
      5 // Copyright (C) 2012 Kolja Brix <brix (at) igpm.rwth-aaachen.de>
      6 //
      7 // This Source Code Form is subject to the terms of the Mozilla
      8 // Public License v. 2.0. If a copy of the MPL was not distributed
      9 // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
     10 
     11 #include "../../test/sparse_solver.h"
     12 #include <Eigen/IterativeSolvers>
     13 
     14 template<typename T> void test_gmres_T()
     15 {
     16   GMRES<SparseMatrix<T>, DiagonalPreconditioner<T> > gmres_colmajor_diag;
     17   GMRES<SparseMatrix<T>, IdentityPreconditioner    > gmres_colmajor_I;
     18   GMRES<SparseMatrix<T>, IncompleteLUT<T> >           gmres_colmajor_ilut;
     19   //GMRES<SparseMatrix<T>, SSORPreconditioner<T> >     gmres_colmajor_ssor;
     20 
     21   CALL_SUBTEST( check_sparse_square_solving(gmres_colmajor_diag)  );
     22 //   CALL_SUBTEST( check_sparse_square_solving(gmres_colmajor_I)     );
     23   CALL_SUBTEST( check_sparse_square_solving(gmres_colmajor_ilut)     );
     24   //CALL_SUBTEST( check_sparse_square_solving(gmres_colmajor_ssor)     );
     25 }
     26 
     27 void test_gmres()
     28 {
     29   CALL_SUBTEST_1(test_gmres_T<double>());
     30   CALL_SUBTEST_2(test_gmres_T<std::complex<double> >());
     31 }
     32