xref: /petsc/src/tao/unconstrained/impls/lmvm/lmvm.h (revision d5ae23803a94ca2b9c66785d81449705f0cc1e9e)
1a7e14dcfSSatish Balay /*
2a7e14dcfSSatish Balay  Context for limited memory variable metric method for unconstrained
3a7e14dcfSSatish Balay  optimization.
4a7e14dcfSSatish Balay */
5a7e14dcfSSatish Balay 
6a7e14dcfSSatish Balay #ifndef __TAO_LMVM_H
7a7e14dcfSSatish Balay #define __TAO_LMVM_H
8af0996ceSBarry Smith #include <petsc/private/taoimpl.h>
9a7e14dcfSSatish Balay 
10a7e14dcfSSatish Balay typedef struct {
11*d5ae2380SAlp Dener   Mat M;
12a7e14dcfSSatish Balay 
13a7e14dcfSSatish Balay   Vec X;
14a7e14dcfSSatish Balay   Vec G;
15a7e14dcfSSatish Balay   Vec D;
16a7e14dcfSSatish Balay   Vec W;
17a7e14dcfSSatish Balay 
18a7e14dcfSSatish Balay   Vec Xold;
19a7e14dcfSSatish Balay   Vec Gold;
20a7e14dcfSSatish Balay 
21a7e14dcfSSatish Balay   PetscInt bfgs;
22a7e14dcfSSatish Balay   PetscInt grad;
23a9603a14SPatrick Farrell   Mat      H0;
24cd929ea3SAlp Dener 
25*d5ae2380SAlp Dener   PetscBool recycle;
26a7e14dcfSSatish Balay } TAO_LMVM;
27a7e14dcfSSatish Balay 
28a7e14dcfSSatish Balay #endif /* ifndef __TAO_LMVM_H */
29