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