Actual source code: gpcg.h
petsc-3.10.5 2019-03-28
1: #ifndef __TAO_GPCG_H
3: #include <petsc/private/taoimpl.h>
4: #include <petsctaolinesearch.h>
6: typedef struct{
8: /* Parameters */
9: PetscReal pg_ftol;
10: PetscReal actred;
11: PetscReal f_new;
12: PetscReal minstep;
13: PetscReal stepsize;
14: PetscReal gnorm;
16: PetscReal sigma1,sigma2,sigma3;
18: PetscInt maxgpits;
20: /* Problem variables, vectors and index sets */
22: /* Problem statistics */
24: PetscInt n; /* Dimension of the Problem */
26: PetscInt total_cgits;
27: PetscInt cg_iterates;
28: PetscInt total_gp_its;
29: PetscInt gp_iterates;
30: PetscInt cgits;
32: Vec G_New;
33: Vec DXFree;
34: Vec R;
35: Vec DX;
36: Vec X;
37: Vec X_New;
38: Vec G, PG;
39: Vec Work;
41: Mat H;
42: Vec B;
43: PetscReal c;
45: PetscReal f;
46: PetscReal step;
47: Mat Hsub;
48: Mat Hsub_pre;
50: IS Free_Local; /* Indices of local variables equal to lower bound */
51: IS TT; /* Indices of local variables equal to upper bound */
53: PetscInt n_free; /* Number of free variables */
54: PetscInt n_upper;
55: PetscInt n_lower;
56: PetscInt n_bind; /* Number of binding varibles */
57: PetscInt ksp_type;
58: PetscInt subset_type;
59: }TAO_GPCG;
63: #endif