xref: /petsc/src/tao/bound/impls/tron/tron.h (revision 58d68138c660dfb4e9f5b03334792cd4f2ffd7cc)
1 #ifndef __TAO_TRON_H
2 #define __TAO_TRON_H
3 
4 #include <petsc/private/taoimpl.h>
5 #include <petscis.h>
6 
7 typedef struct {
8   /* Parameters */
9   PetscReal pg_ftol;
10   PetscReal actred;
11   PetscReal f_new;
12 
13   PetscReal eta1, eta2, eta3, eta4;
14   PetscReal sigma1, sigma2, sigma3;
15 
16   PetscInt maxgpits;
17 
18   /* Problem variables, vectors and index sets */
19   PetscReal stepsize;
20   PetscReal pgstepsize;
21 
22   /* Problem statistics */
23 
24   PetscInt  n;     /* Dimension of the Problem */
25   PetscReal delta; /* Trust region size */
26   PetscReal gnorm;
27   PetscReal f;
28 
29   PetscInt total_gp_its;
30   PetscInt gp_iterates;
31 
32   Vec X_New;
33   Vec G_New;
34   Vec Work;
35 
36   /* Subvectors and submatrices */
37   Vec DXFree;
38   Vec R;
39   Vec rmask;
40   Vec diag;
41   Mat H_sub;
42   Mat Hpre_sub;
43 
44   IS         Free_Local; /* Indices of local variables equal to lower bound */
45   VecScatter scatter;
46 
47   PetscInt n_free; /* Number of free variables */
48   PetscInt n_free_last;
49 
50 } TAO_TRON;
51 
52 #endif
53