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