Actual source code: blmvm.h

      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;