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;