Actual source code: cgimpl.h

petsc-3.11.3 2019-06-26
Report Typos and Errors

  2: /*
  3:     Private Krylov Context Structure (KSP) for Conjugate Gradient

  5:     This one is very simple. It contains a flag indicating the symmetry
  6:    structure of the matrix and work space for (optionally) computing
  7:    eigenvalues.

  9: */


 14: /*
 15:         Defines the basic KSP object
 16: */
 17:  #include <petsc/private/kspimpl.h>

 19: PETSC_INTERN PetscErrorCode KSPDestroy_CG(KSP);
 20: PETSC_INTERN PetscErrorCode KSPReset_CG(KSP);
 21: PETSC_INTERN PetscErrorCode KSPView_CG(KSP,PetscViewer);
 22: PETSC_INTERN PetscErrorCode KSPSetFromOptions_CG(PetscOptionItems *PetscOptionsObject,KSP);
 23: PETSC_INTERN PetscErrorCode KSPCGSetType_CG(KSP,KSPCGType);

 25: /*
 26:     The field should remain the same since it is shared by the BiCG code
 27: */

 29: typedef struct {
 30:   KSPCGType   type;                 /* type of system (symmetric or Hermitian) */
 31:   PetscScalar emin,emax;           /* eigenvalues */
 32:   PetscInt    ned;                 /* size of following arrays */
 33:   PetscScalar *e,*d;
 34:   PetscReal   *ee,*dd;             /* work space for Lanczos algorithm */

 36:   PetscBool singlereduction;          /* use variant of CG that combines both inner products */
 37: } KSP_CG;

 39: #endif