bicgstab.cpp
Go to the documentation of this file.
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@free.fr>
5 //
6 // This Source Code Form is subject to the terms of the Mozilla
7 // Public License v. 2.0. If a copy of the MPL was not distributed
8 // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 
10 #include "sparse_solver.h"
11 #include <Eigen/IterativeLinearSolvers>
12 
13 template<typename T, typename I> void test_bicgstab_T()
14 {
17  BiCGSTAB<SparseMatrix<T,0,I>, IncompleteLUT<T,I> > bicgstab_colmajor_ilut;
18  //BiCGSTAB<SparseMatrix<T>, SSORPreconditioner<T> > bicgstab_colmajor_ssor;
19 
20  bicgstab_colmajor_diag.setTolerance(NumTraits<T>::epsilon()*4);
21  bicgstab_colmajor_ilut.setTolerance(NumTraits<T>::epsilon()*4);
22 
23  CALL_SUBTEST( check_sparse_square_solving(bicgstab_colmajor_diag) );
24 // CALL_SUBTEST( check_sparse_square_solving(bicgstab_colmajor_I) );
25  CALL_SUBTEST( check_sparse_square_solving(bicgstab_colmajor_ilut) );
26  //CALL_SUBTEST( check_sparse_square_solving(bicgstab_colmajor_ssor) );
27 }
28 
30 {
31  CALL_SUBTEST_1((test_bicgstab_T<double,int>()) );
32  CALL_SUBTEST_2((test_bicgstab_T<std::complex<double>, int>()));
33  CALL_SUBTEST_3((test_bicgstab_T<double,long int>()));
34 }
A preconditioner based on the digonal entries.
BiCGSTAB< _MatrixType, _Preconditioner > & setTolerance(const RealScalar &tolerance)
void test_bicgstab_T()
Definition: bicgstab.cpp:13
Holds information about the various numeric (i.e. scalar) types allowed by Eigen. ...
Definition: NumTraits.h:150
Incomplete LU factorization with dual-threshold strategy.
Definition: IncompleteLUT.h:99
void test_bicgstab()
Definition: bicgstab.cpp:29
#define CALL_SUBTEST(FUNC)
Definition: main.h:342
A naive preconditioner which approximates any matrix as the identity matrix.
A bi conjugate gradient stabilized solver for sparse square problems.
Definition: BiCGSTAB.h:113
void check_sparse_square_solving(Solver &solver, int maxSize=300, int maxRealWorldSize=100000, bool checkDeficient=false)


gtsam
Author(s):
autogenerated on Sat May 8 2021 02:41:42