idrstabl.cpp File Reference
#include "../../test/sparse_solver.h"
#include <unsupported/Eigen/IterativeSolvers>

Functions

template<typename T >
void test_idrstabl_T ()
 
 EIGEN_DECLARE_TEST (idrstabl)
 

Function Documentation

◆ EIGEN_DECLARE_TEST()

EIGEN_DECLARE_TEST ( idrstabl  )
25  {
26  CALL_SUBTEST_1((test_idrstabl_T<double>()));
27  CALL_SUBTEST_2((test_idrstabl_T<std::complex<double> >()));
28 }
void test_idrstabl_T()
Definition: idrstabl.cpp:14
#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, and test_idrstabl_T().

◆ test_idrstabl_T()

template<typename T >
void test_idrstabl_T ( )
14  {
15  IDRSTABL<SparseMatrix<T>, DiagonalPreconditioner<T> > idrstabl_colmajor_diag;
16  IDRSTABL<SparseMatrix<T>, IncompleteLUT<T> > idrstabl_colmajor_ilut;
17 
18  idrstabl_colmajor_diag.setTolerance(NumTraits<T>::epsilon() * 4);
19  idrstabl_colmajor_ilut.setTolerance(NumTraits<T>::epsilon() * 4);
20 
21  CALL_SUBTEST(check_sparse_square_solving(idrstabl_colmajor_diag));
22  CALL_SUBTEST(check_sparse_square_solving(idrstabl_colmajor_ilut));
23 }
A preconditioner based on the digonal entries.
Definition: BasicPreconditioners.h:39
The IDR(s)STAB(l) is a combination of IDR(s) and BiCGSTAB(l). It is a short-recurrences Krylov method...
Definition: IDRSTABL.h:412
Incomplete LU factorization with dual-threshold strategy.
Definition: IncompleteLUT.h:102
Derived & setTolerance(const RealScalar &tolerance)
Definition: IterativeSolverBase.h:236
#define CALL_SUBTEST(FUNC)
Definition: main.h:382
void check_sparse_square_solving(Solver &solver, int maxSize=300, int maxRealWorldSize=100000, bool checkDeficient=false)
Definition: sparse_solver.h:613
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition: NumTraits.h:217

References CALL_SUBTEST, check_sparse_square_solving(), and Eigen::IterativeSolverBase< Derived >::setTolerance().

Referenced by EIGEN_DECLARE_TEST().