Actual source code: bqnk.h

  1: /*
  2: Context for bounded quasi-Newton-Krylov type optimization algorithms
  3: */


  8: #include <../src/tao/bound/impls/bnk/bnk.h>
  9: #include <../src/ksp/ksp/utils/lmvm/lmvm.h>
 10: #include <../src/ksp/ksp/utils/lmvm/symbrdn/symbrdn.h>

 12: typedef struct {
 13:   PetscErrorCode (*solve)(Tao);
 14:   Mat B;
 15:   PC pc;
 16:   PetscBool is_spd;
 17: } TAO_BQNK;

 19: #define BQNK_INIT_CONSTANT         0
 20: #define BQNK_INIT_DIRECTION        1
 21: #define BQNK_INIT_TYPES            2

 23: PETSC_INTERN PetscErrorCode TaoSolve_BQNK(Tao);
 24: PETSC_INTERN PetscErrorCode TaoSetUp_BQNK(Tao);
 25: PETSC_INTERN PetscErrorCode TaoCreate_BQNK(Tao);

 27: #endif /* if !defined(__TAO_BQNK_H) */