Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
gtsam
3rdparty
Eigen
test
conjugate_gradient.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_conjugate_gradient_T
()
14
{
15
typedef
SparseMatrix<T,0,I>
SparseMatrixType;
16
ConjugateGradient<SparseMatrixType, Lower >
cg_colmajor_lower_diag;
17
ConjugateGradient<SparseMatrixType, Upper >
cg_colmajor_upper_diag;
18
ConjugateGradient<SparseMatrixType, Lower|Upper>
cg_colmajor_loup_diag;
19
ConjugateGradient<SparseMatrixType, Lower, IdentityPreconditioner>
cg_colmajor_lower_I;
20
ConjugateGradient<SparseMatrixType, Upper, IdentityPreconditioner>
cg_colmajor_upper_I;
21
22
CALL_SUBTEST
(
check_sparse_spd_solving
(cg_colmajor_lower_diag) );
23
CALL_SUBTEST
(
check_sparse_spd_solving
(cg_colmajor_upper_diag) );
24
CALL_SUBTEST
(
check_sparse_spd_solving
(cg_colmajor_loup_diag) );
25
CALL_SUBTEST
(
check_sparse_spd_solving
(cg_colmajor_lower_I) );
26
CALL_SUBTEST
(
check_sparse_spd_solving
(cg_colmajor_upper_I) );
27
}
28
29
void
test_conjugate_gradient
()
30
{
31
CALL_SUBTEST_1(( test_conjugate_gradient_T<double,int>() ));
32
CALL_SUBTEST_2((
test_conjugate_gradient_T
<std::complex<double>,
int
>() ));
33
CALL_SUBTEST_3(( test_conjugate_gradient_T<double,long int>() ));
34
}
Eigen::SparseMatrix
A versatible sparse matrix representation.
Definition:
SparseMatrix.h:96
test_conjugate_gradient_T
void test_conjugate_gradient_T()
Definition:
conjugate_gradient.cpp:13
Eigen::ConjugateGradient
A conjugate gradient solver for sparse (or dense) self-adjoint problems.
Definition:
ConjugateGradient.h:97
test_conjugate_gradient
void test_conjugate_gradient()
Definition:
conjugate_gradient.cpp:29
CALL_SUBTEST
#define CALL_SUBTEST(FUNC)
Definition:
main.h:342
check_sparse_spd_solving
void check_sparse_spd_solving(Solver &solver, int maxSize=300, int maxRealWorldSize=100000)
Definition:
sparse_solver.h:269
sparse_solver.h
gtsam
Author(s):
autogenerated on Sat May 8 2021 02:41:50