conjugate_gradient.cpp File Reference
#include "sparse_solver.h"
#include <Eigen/IterativeLinearSolvers>

Functions

template<typename T , typename I_ >
void test_conjugate_gradient_T ()
 
 EIGEN_DECLARE_TEST (conjugate_gradient)
 

Function Documentation

◆ EIGEN_DECLARE_TEST()

EIGEN_DECLARE_TEST ( conjugate_gradient  )
29  {
30  CALL_SUBTEST_1((test_conjugate_gradient_T<double, int>()));
31  CALL_SUBTEST_2((test_conjugate_gradient_T<std::complex<double>, int>()));
32  CALL_SUBTEST_3((test_conjugate_gradient_T<double, long int>()));
33 }
void test_conjugate_gradient_T()
Definition: conjugate_gradient.cpp:14
#define CALL_SUBTEST_3(FUNC)
Definition: split_test_helper.h:16
#define CALL_SUBTEST_1(FUNC)
Definition: split_test_helper.h:4
#define CALL_SUBTEST_2(FUNC)
Definition: split_test_helper.h:10

References CALL_SUBTEST_1, CALL_SUBTEST_2, CALL_SUBTEST_3, and test_conjugate_gradient_T().

◆ test_conjugate_gradient_T()

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;
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 }
A conjugate gradient solver for sparse (or dense) self-adjoint problems.
Definition: ConjugateGradient.h:152
A versatible sparse matrix representation.
Definition: SparseMatrix.h:121
#define CALL_SUBTEST(FUNC)
Definition: main.h:382
void check_sparse_spd_solving(Solver &solver, int maxSize=(std::min)(300, EIGEN_TEST_MAX_SIZE), int maxRealWorldSize=100000)
Definition: sparse_solver.h:392

References CALL_SUBTEST, and check_sparse_spd_solving().

Referenced by EIGEN_DECLARE_TEST().