Class xlifepp::GmresSolver#

class GmresSolver : public xlifepp::IterativeSolver#

Implement Generalized Minimal Residual algorithm.

Public Functions

inline GmresSolver(const Parameter &p1)#

contructors with key-value system

inline GmresSolver(number_t kd, real_t eps, number_t maxOfIt = defaultMaxIterations, number_t vb = theVerboseLevel)#

Full constructor.

inline GmresSolver(number_t kd = defaultKrylovDimension)#

Constructor with Krylov dimension.

inline ~GmresSolver()#

destructor

inline number_t krylovDimension(const size_t nbRows)#

defines a default value for the Krylov dimension

inline number_t maximumOfIterations(const size_t nbRows)#

Return the maximum iteration as a function of linear system size.

Parameters:

nbRows – number of row of vector unknown X

Returns:

Maximum number of iteration

template<class Mat, class VecB, class VecX>
inline VecX operator()(Mat &matA, VecB &vecB, ValueType solType)#

Template Solvers without a preconditionner and X0 = vecB.

template<class Mat, class VecB, class VecX>
inline VecX operator()(Mat &matA, VecB &vecB, VecX &vecX0)#

Template Solvers without a precondition without argument “solType.

template<class Mat, class VecB, class VecX>
inline VecX operator()(Mat &matA, VecB &vecB, VecX &vecX0, ValueType solType)#

Template Solvers without a preconditioner.

template<class Mat, class VecB, class VecX, class VecPC>
inline VecX operator()(Mat &matA, VecB &vecB, VecX &vecX0, VecPC &pc)#

Template Solvers with a precondition without argument “solType.

template<class Mat, class VecB, class VecX, class VecPC>
inline VecX operator()(Mat &matA, VecB &vecB, VecX &vecX0, VecPC &pc, ValueType solType)#

Template Solvers with a preconditionner.

inline void print(std::ostream &out) const#

print utility