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