1: #pragma once 3: #include <petsc/private/taoimpl.h> 4: #include <petscis.h> 6: typedef struct { 7: /* Parameters */ 8: PetscReal pg_ftol; 9: PetscReal actred; 10: PetscReal f_new; 12: PetscReal eta1, eta2, eta3, eta4; 13: PetscReal sigma1, sigma2, sigma3; 15: PetscInt maxgpits; 17: /* Problem variables, vectors and index sets */ 18: PetscReal stepsize; 19: PetscReal pgstepsize; 21: /* Problem statistics */ 23: PetscInt n; /* Dimension of the Problem */ 24: PetscReal delta; /* Trust region size */ 25: PetscReal gnorm; 26: PetscReal f; 28: PetscInt total_gp_its; 29: PetscInt gp_iterates; 31: Vec X_New; 32: Vec G_New; 33: Vec Work; 35: /* Subvectors and submatrices */ 36: Vec DXFree; 37: Vec R; 38: Vec rmask; 39: Vec diag; 40: Mat H_sub; 41: Mat Hpre_sub; 43: IS Free_Local; /* Indices of local variables equal to lower bound */ 44: VecScatter scatter; 46: PetscInt n_free; /* Number of free variables */ 47: PetscInt n_free_last; 49: } TAO_TRON;