xref: /petsc/src/tao/bound/impls/blmvm/blmvm.h (revision c4762a1b19cd2af06abeed90e8f9d34fb975dd94)
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;
19   Vec Gold;
20 
21   PetscInt n_free;
22   PetscInt n_bind;
23 
24   PetscInt grad;
25   PetscInt reset;
26   Mat      H0;
27 
28   PetscBool recycle;
29 } TAO_BLMVM;
30 
31 #endif  /* if !defined(__TAO_BLMVM_H) */
32