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