xref: /petsc/src/tao/unconstrained/impls/lmvm/lmvm.h (revision a7e14dcfba0d07adf6226a919460249440ec94c7)
1*a7e14dcfSSatish Balay /*
2*a7e14dcfSSatish Balay  Context for limited memory variable metric method for unconstrained
3*a7e14dcfSSatish Balay  optimization.
4*a7e14dcfSSatish Balay */
5*a7e14dcfSSatish Balay 
6*a7e14dcfSSatish Balay #ifndef __TAO_LMVM_H
7*a7e14dcfSSatish Balay #define __TAO_LMVM_H
8*a7e14dcfSSatish Balay #include "tao-private/taosolver_impl.h"
9*a7e14dcfSSatish Balay 
10*a7e14dcfSSatish Balay typedef struct {
11*a7e14dcfSSatish Balay   Mat M;
12*a7e14dcfSSatish Balay 
13*a7e14dcfSSatish Balay   Vec X;
14*a7e14dcfSSatish Balay   Vec G;
15*a7e14dcfSSatish Balay   Vec D;
16*a7e14dcfSSatish Balay   Vec W;
17*a7e14dcfSSatish Balay 
18*a7e14dcfSSatish Balay   Vec Xold;
19*a7e14dcfSSatish Balay   Vec Gold;
20*a7e14dcfSSatish Balay 
21*a7e14dcfSSatish Balay   PetscInt bfgs;
22*a7e14dcfSSatish Balay   PetscInt sgrad;
23*a7e14dcfSSatish Balay   PetscInt grad;
24*a7e14dcfSSatish Balay } TAO_LMVM;
25*a7e14dcfSSatish Balay 
26*a7e14dcfSSatish Balay #endif /* ifndef __TAO_LMVM_H */
27