Actual source code: owlqn.h
petsc-3.10.5 2019-03-28
Report Typos and Errors

      1: /*
      2:  Context for limited memory variable metric method for unconstrained
      3:  optimization.
      4: */

      6: #ifndef __TAO_OWLQN_H
      8:  #include <petsc/private/taoimpl.h>

     10: typedef struct {
     11:   Mat M;

     13:   Vec X;
     14:   Vec G;
     15:   Vec D;
     16:   Vec W;
     17:   Vec GV;  /* the pseudo gradient */

     19:   Vec Xold;
     20:   Vec Gold;

     22:   PetscInt bfgs;
     23:   PetscInt sgrad;
     24:   PetscInt grad;

     26:   PetscReal lambda;
     27: } TAO_OWLQN;

     29: static PetscErrorCode ProjDirect_OWLQN(Vec d, Vec g);

     31: static PetscErrorCode ComputePseudoGrad_OWLQN(Vec x, Vec gv, PetscReal lambda);

     33: #endif /* ifndef __TAO_OWLQN_H */