C++ main module for emicrom Package  1.0
MATH_ConjugateGradient.h
Go to the documentation of this file.
1 #ifndef MATH_ConjugateGradient_H
2 #define MATH_ConjugateGradient_H
3 
4 #include "MATH_Solver.h"
5 
6 
56 
59 
60 private:
61 
62  SP::MATH_Vector mWork;
63 
64 protected:
65 
69 
72  virtual ~MATH_ConjugateGradient(void);
73 
74 public:
78  inline static SP::MATH_ConjugateGradient New() {
79  SP::MATH_ConjugateGradient p(new MATH_ConjugateGradient(),MATH_ConjugateGradient::Delete());
80  p->setThis(p);
81  return p;
82  }
111  virtual tBoolean solve(const MATH_Matrix& A,MATH_Vector& b,MATH_Vector& x,MATH_Vector& w);
112 
113 
114 
115 };
116 #endif
DEFINE_SPTR(MATH_ConjugateGradient)
This class describes a general matrix interface used in solver.
Definition: MATH_Matrix.h:20
#define tBoolean
Definition: types.h:139
MATH_ConjugateGradient(void)
create a solver
Definition: MATH_ConjugateGradient.cpp:6
This class describes a solver of Ax=b when A is symmetric and positive definite. The implementation i...
Definition: MATH_ConjugateGradient.h:57
SP_OBJECT(MATH_ConjugateGradient)
static SP::MATH_ConjugateGradient New()
return a share pointer of a conjugate gradient solver
Definition: MATH_ConjugateGradient.h:78
This class describes a masked vector.
Definition: MATH_Vector.h:16
virtual ~MATH_ConjugateGradient(void)
destroy a solver
Definition: MATH_ConjugateGradient.cpp:11
virtual tBoolean solve(const MATH_Matrix &A, MATH_Vector &b, MATH_Vector &x, MATH_Vector &w)
solve
Definition: MATH_ConjugateGradient.cpp:15
This class describes a solver of Ax=b.
Definition: MATH_Solver.h:18
SP::MATH_Vector mWork
Definition: MATH_ConjugateGradient.h:62
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:141