4: #include <petsc/private/kspimpl.h> /*I "petscksp.h" I*/
6: typedef struct {
7: KSPCGType type; /* type of system (symmetric of Hermitian) */
8: PetscScalar emin,emax; /* eigenvalues */
9: PetscInt ned; /* size of following arrays */
10: PetscScalar *e,*d;
11: PetscReal *ee,*dd; /* work space for Lanczos algorithm */
12: 13: PetscInt mmax; /* The maximum number of P/C vectors to store */
14: PetscInt nprealloc; /* How many vectors to preallocate */
15: PetscInt nvecs; /* How many P/C vecs are actually stored */
16: PetscInt vecb; /* How many vecs to allocate at a time in a chunk */
17: Vec *Pvecs, *Cvecs, **pPvecs, **pCvecs; /* Arrays of vectors, and arrays of pointers to them */
18: PetscInt *chunksizes; /* Chunk sizes allocated */
19: PetscInt nchunks; /* Number of chunks */
20: KSPFCDTruncationType truncstrat;
21: } KSP_FCG;
23: #endif