xref: /petsc/src/tao/bound/impls/bqnk/bqnk.h (revision 6b5911594195c27bb116de24bb31df463a3cffa7)
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, Bscale;
12   PC pc;
13   PetscBool no_scale;
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) */