1 /* 2 Context for bounded quasi-Newton-Krylov type optimization algorithms 3 */ 4 5 #if !defined(__TAO_BQNK_H) 6 #define __TAO_BQNK_H 7 8 #include <../src/tao/bound/impls/bnk/bnk.h> 9 10 typedef struct { 11 Mat B; 12 PC pc; 13 PetscBool is_spd; 14 } TAO_BQNK; 15 16 #define BQNK_INIT_CONSTANT 0 17 #define BQNK_INIT_DIRECTION 1 18 #define BQNK_INIT_TYPES 2 19 20 static const char *BQNK_INIT[64] = {"constant", "direction", "interpolation"}; 21 22 PETSC_INTERN PetscErrorCode TaoSetUp_BQNK(Tao); 23 PETSC_INTERN PetscErrorCode TaoCreate_BQNK(Tao); 24 25 #endif /* if !defined(__TAO_BQNK_H) */