gtsam
3rdparty
Eigen
test
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
{
15
BiCGSTAB<SparseMatrix<T,0,I_>
,
DiagonalPreconditioner<T>
> bicgstab_colmajor_diag;
16
BiCGSTAB<SparseMatrix<T,0,I_>
,
IdentityPreconditioner
> bicgstab_colmajor_I;
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
29
EIGEN_DECLARE_TEST
(
bicgstab
)
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
}
Eigen::IncompleteLUT
Incomplete LU factorization with dual-threshold strategy.
Definition:
IncompleteLUT.h:99
Eigen::internal::bicgstab
bool bicgstab(const MatrixType &mat, const Rhs &rhs, Dest &x, const Preconditioner &precond, Index &iters, typename Dest::RealScalar &tol_error)
Definition:
BiCGSTAB.h:29
EIGEN_DECLARE_TEST
EIGEN_DECLARE_TEST(bicgstab)
Definition:
bicgstab.cpp:29
CALL_SUBTEST_3
#define CALL_SUBTEST_3(FUNC)
Definition:
split_test_helper.h:16
CALL_SUBTEST_1
#define CALL_SUBTEST_1(FUNC)
Definition:
split_test_helper.h:4
CALL_SUBTEST_2
#define CALL_SUBTEST_2(FUNC)
Definition:
split_test_helper.h:10
test_bicgstab_T
void test_bicgstab_T()
Definition:
bicgstab.cpp:13
Eigen::IdentityPreconditioner
A naive preconditioner which approximates any matrix as the identity matrix.
Definition:
BasicPreconditioners.h:200
Eigen::BiCGSTAB
A bi conjugate gradient stabilized solver for sparse square problems.
Definition:
BiCGSTAB.h:113
sparse_solver.h
check_sparse_square_solving
void check_sparse_square_solving(Solver &solver, int maxSize=300, int maxRealWorldSize=100000, bool checkDeficient=false)
Definition:
sparse_solver.h:534
Eigen::DiagonalPreconditioner
A preconditioner based on the digonal entries.
Definition:
BasicPreconditioners.h:36
Eigen::NumTraits
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition:
NumTraits.h:232
CALL_SUBTEST
#define CALL_SUBTEST(FUNC)
Definition:
main.h:399
gtsam
Author(s):
autogenerated on Sun Dec 22 2024 04:11:12