Class xlifepp::CgSolver#

class CgSolver : public xlifepp::IterativeSolver#

Inheritence diagram for xlifepp::CgSolver:

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

Collaboration diagram for xlifepp::CgSolver:

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::CgSolver" tooltip="xlifepp::CgSolver" 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 Conjugate Gradient algorithm.

Public Functions

inline CgSolver()#

Default constructor.

inline CgSolver(const Parameter &p1)#

contructors with key-value system

inline CgSolver(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, 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 preconditioner 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.