xref: /petsc/src/tao/bound/impls/blmvm/blmvm.h (revision cd929ea3f739fd9f7b6394f772cb40b9d4e6d97c)
1 /*
2   Private data structure used for blmvm method.
3 */
4 
5 #if !defined(__TAO_BLMVM_H)
6 #define __TAO_BLMVM_H
7 
8 #include <petsc/private/taoimpl.h>
9 
10 /*
11  Context for limited memory variable metric method for bound constrained
12  optimization.
13 */
14 typedef struct {
15   Mat M;
16 
17   Vec unprojected_gradient;
18   Vec Xold, Gold;
19   Vec W, work;
20 
21   PetscInt  as_type;
22   PetscReal as_step, as_tol;
23   IS active_lower, active_upper, active_fixed;
24   IS inactive_idx, active_idx;
25 
26   PetscInt n_free;
27   PetscInt n_bind;
28 
29   PetscInt bfgs;
30   PetscInt grad;
31   Mat      H0;
32 
33   PetscBool recycle;
34 } TAO_BLMVM;
35 
36 #endif  /* if !defined(__TAO_BLMVM_H) */
37