xref: /petsc/src/tao/bound/impls/blmvm/blmvm.h (revision 9dd11ecf0918283bb567d8b33a92f53ac4ea7840)
1 /*
2   Private data structure used for blmvm method.
3 */
4 
5 #pragma once
6 
7 #include <petsc/private/taoimpl.h>
8 
9 /*
10  Context for limited memory variable metric method for bound constrained
11  optimization.
12 */
13 typedef struct {
14   Mat M;
15 
16   Vec unprojected_gradient;
17   Vec Xold;
18   Vec Gold;
19 
20   PetscInt n_free;
21   PetscInt n_bind;
22 
23   PetscInt grad;
24   PetscInt reset;
25   Mat      H0;
26 
27   PetscBool recycle;
28 } TAO_BLMVM;
29