Actual source code: gpcg.h

      1: /*$Id: gpcg.h 1.23 05/02/11 14:10:17-06:00 benson@rockies.mcs.anl.gov $*/

      3: #ifndef __TAO_GPCG_H
      5: #include "tao_solver.h"
     6:  #include src/bound/impls/gpcg/gpcglinesearch.h

      8: typedef struct{

     10:   /* Parameters */
     11:   double pg_ftol;
     12:   double actred;
     13:   double f_new;
     14:   double minstep;
     15:   double stepsize;
     16:   double gnorm;

     18:   double sigma1,sigma2,sigma3;

     20:   int maxgpits;

     22:   /* Problem variables, vectors and index sets */

     24:   /* Problem statistics */

     26:   int n;   /* Dimension of the Problem */

     28:   int total_cgits;
     29:   int cg_iterates;
     30:   int total_gp_its;
     31:   int gp_iterates;
     32:   int cgits;

     34:   TaoVec * G_New;
     35:   TaoVec * DXFree;
     36:   TaoVec * R;
     37:   TaoVec * DX;
     38:   TaoVec * X;
     39:   TaoVec * X_New;
     40:   TaoVec * G, *PG;
     41:   TaoVec * XU;
     42:   TaoVec * XL;
     43:   TaoVec * Work;

     45:   TaoMat *H;
     46:   TaoVec * B;
     47:   double c;
     48:
     49:   double f;
     50:   double step;
     51:   TaoMat *Hsub;

     53:   TaoIndexSet * Free_Local;  /* Indices of local variables equal to lower bound */
     54:   TaoIndexSet * TT;  /* Indices of local variables equal to upper bound */

     56:   int n_free;       /* Number of free variables */
     57:   int n_upper;
     58:   int n_lower;
     59:   int n_bind;       /* Number of binding varibles */

     61: }TAO_GPCG;

     63: /* GPCG Routines */
     64: int TaoGPCGComputeFunctionGradient(TAO_SOLVER, TaoVec *, double *, TaoVec *);

     66: #endif