Date: 2022-03-31T04:48:11+00:00

Actual source code: chebyshevimpl.h

      1: /*
      2:     Private data structure for Chebyshev Iteration
      3: */

      8: #include <petsc/private/kspimpl.h>

     10: typedef struct {
     11:   PetscReal        emin,emax;    /* store user provided estimates of extreme eigenvalues or computed with kspest and transformed with tform[] */
     12:   PetscReal        emin_computed,emax_computed; /* eigenvalues as computed by kspest, if computed */
     13:   PetscReal        emin_provided,emax_provided; /* provided by PCGAMG; discarded unless preconditioned by Jacobi */
     14:   KSP              kspest;       /* KSP used to estimate eigenvalues */
     15:   PetscReal        tform[4];     /* transform from Krylov estimates to Chebyshev bounds */
     16:   PetscInt         eststeps;     /* number of kspest steps in KSP used to estimate eigenvalues */
     17:   PetscBool        usenoisy;    /* use noisy right hand side vector to estimate eigenvalues */
     18:   /* For tracking when to update the eigenvalue estimates */
     19:   PetscObjectId    amatid,    pmatid;
     20:   PetscObjectState amatstate, pmatstate;
     21: } KSP_Chebyshev;

     23: #endif