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) */