suanPan
IterativeSolver.hpp File Reference
#include <Toolbox/utility.h>
#include "SolverSetting.hpp"
Include dependency graph for IterativeSolver.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<sp_d data_t, HasEvaluate< data_t > System>
int GMRES (const System *system, Col< data_t > &x, const Col< data_t > &b, SolverSetting< data_t > &setting)
 
template<sp_d data_t, HasEvaluate< data_t > System>
int BiCGSTAB (const System *system, Col< data_t > &x, const Col< data_t > &b, SolverSetting< data_t > &setting)
 

Variables

template<typename T , typename data_t >
concept HasEvaluate = requires(T* t, const Col<data_t>& x) { { t->evaluate(x) } -> std::convertible_to<Col<data_t>>; }
 

Function Documentation

◆ BiCGSTAB()

template<sp_d data_t, HasEvaluate< data_t > System>
int BiCGSTAB ( const System system,
Col< data_t > &  x,
const Col< data_t > &  b,
SolverSetting< data_t > &  setting 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GMRES()

template<sp_d data_t, HasEvaluate< data_t > System>
int GMRES ( const System system,
Col< data_t > &  x,
const Col< data_t > &  b,
SolverSetting< data_t > &  setting 
)
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ HasEvaluate

template<typename T , typename data_t >
concept HasEvaluate = requires(T* t, const Col<data_t>& x) { { t->evaluate(x) } -> std::convertible_to<Col<data_t>>; }