Actual source code: taolinearsolver.h
1: #ifndef TAOLINEARSOLVER_H
2: #define TAOLINEARSOLVER_H
4: #include "tao_basictypes.h"
6: class TaoIndexSet;
7: class TaoVec;
8: class TaoMat;
10: /**
11: An abstract class representing the implementation of a Linear Solver
12: */
14: class TaoLinearSolver {
16: protected:
17:
18: public:
19: int rref;
21: TaoLinearSolver(){rref=1;};
22: virtual ~TaoLinearSolver(void){};
24: void * LinearSolverObject;
26: /* These two methods are very important */
27: virtual int PreSolve(TaoMat*);
28: virtual int Solve(TaoVec*,TaoVec*, TaoTruth*);
30: /* Some solver need this method */
31: virtual int MinQuadraticTrustRegion(TaoVec*,TaoVec*,double, TaoTruth*);
33: /* This method makes solver more robust. Good but not mandatory */
34: virtual int SetTolerances(double,double,double,int);
36: /* These methods are nice to have but not necessary */
37: virtual int SetOptions();
38: virtual int GetNumberIterations(int *);
39: virtual int View();
41: };
43: #endif