Actual source code: tron.h

      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;