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