Class xlifepp::BicgSolver#

class BicgSolver : public xlifepp::IterativeSolver#

Inheritence diagram for xlifepp::BicgSolver:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "1" [label="xlifepp::BicgSolver" tooltip="xlifepp::BicgSolver" fillcolor="#BFBFBF"] "2" [label="xlifepp::IterativeSolver" tooltip="xlifepp::IterativeSolver"] "1" -> "2" [dir=forward tooltip="public-inheritance"] }

Collaboration diagram for xlifepp::BicgSolver:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "3" [label="xlifepp::Vector< real_t >" tooltip="xlifepp::Vector< real_t >"] "5" [label="std::vector< T >" tooltip="std::vector< T >"] "7" [label="std::vector< K >" tooltip="std::vector< K >"] "4" [label="std::vector< real_t >" tooltip="std::vector< real_t >"] "1" [label="xlifepp::BicgSolver" tooltip="xlifepp::BicgSolver" fillcolor="#BFBFBF"] "2" [label="xlifepp::IterativeSolver" tooltip="xlifepp::IterativeSolver"] "6" [label="xlifepp::Vector< K >" tooltip="xlifepp::Vector< K >"] "3" -> "4" [dir=forward tooltip="public-inheritance"] "3" -> "6" [dir=forward tooltip="template-instance"] "7" -> "5" [dir=forward tooltip="template-instance"] "4" -> "5" [dir=forward tooltip="template-instance"] "1" -> "2" [dir=forward tooltip="public-inheritance"] "2" -> "3" [dir=forward tooltip="usage"] "6" -> "7" [dir=forward tooltip="public-inheritance"] }

Implement BiConjugate Gradient algorithm.

Public Functions

inline BicgSolver()#

Default Constructor.

inline BicgSolver(const Parameter &p1)#

contructors with key-value system

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

Full constructor.

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, class Prec>
inline VecX operator()(Mat &matA, VecB &vecB, VecX &vecX0, Prec &pc, ValueType solType)#

Template Solvers with a preconditioner.

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

Template Solvers without a precondition.

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 VecX>
inline VecX operator()(Mat &matA, VecX &vecB, ValueType solType)#

Template Solvers without a preconditionner and vecX0 = vecB.