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