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