Actual source code: kt.h

      1: #ifndef __TAO_KT_H
      3: #include "tao_solver.h"

      5: class TaoKTApplication : public TaoApplication {
      6:  public:
      7:   TaoKTApplication(TAO_SOLVER,TAO_SOLVER);
      8:   TAO_SOLVER orig;      // original solver structure
      9:   TAO_SOLVER csolver;      // original solver structure
     10:   double func;          // function value

     12:   virtual int EvaluateConstraints(TaoVec *xx, TaoVec *RR);
     13:   virtual int EvaluateJacobian(TaoVec *xx, TaoMat *JJ);
     14:   virtual int InitializeVariables(TaoVec *x);

     16:   virtual int GetVariableVector(TaoVec **xx);
     17:   virtual int EvaluateVariableBounds(TaoVec *xxll, TaoVec *xxuu);
     18:   virtual int GetJacobianMatrix(TaoMat **JJ);
     19:   virtual int GetLinearSolver(TaoMat *, int, TaoLinearSolver **);
     20:   int SetItUp1();
     21:   int SetItUp2();
     22: };

     25: typedef struct {

     27:   TaoKTApplication* ktapp;

     29:   TAO_SOLVER csolver;    // complementarity solver structure
     30:   char comp_method[256]; // complementarity solver

     32:   TaoVec *G;
     33:   int setupcalled;
     34: } TAO_KT;

     36: #endif