Actual source code: owlqn.h

petsc-3.12.5 2020-03-29
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 */