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