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: /*
20: The field should remain the same since it is shared by the BiCG code
21: */
23: typedef struct {
24: KSPCGType type; /* type of system (symmetric or Hermitian) */
25: PetscScalar emin,emax; /* eigenvalues */
26: PetscInt ned; /* size of following arrays */
27: PetscScalar *e,*d;
28: PetscReal *ee,*dd; /* work space for Lanczos algorithm */
30: PetscBool singlereduction; /* use variant of CG that combines both inner products */
31: } KSP_CG;
33: #endif