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