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