Actual source code: pgmresimpl.h

petsc-3.6.4 2016-04-12
Report Typos and Errors
4: #include <petsc/private/kspimpl.h> 5: #define KSPGMRES_NO_MACROS 6: #include <../src/ksp/ksp/impls/gmres/gmresimpl.h> 8: typedef struct { 9: KSPGMRESHEADER 10: } KSP_PGMRES; 12: #define HH(a,b) (pgmres->hh_origin + (b)*(pgmres->max_k+2)+(a)) 13: /* HH will be size (max_k+2)*(max_k+1) - think of HH as 14: being stored columnwise for access purposes. */ 15: #define HES(a,b) (pgmres->hes_origin + (b)*(pgmres->max_k+1)+(a)) 16: /* HES will be size (max_k + 1) * (max_k + 1) - 17: again, think of HES as being stored columnwise */ 18: #define CC(a) (pgmres->cc_origin + (a)) /* CC will be length (max_k+1) - cosines */ 19: #define SS(a) (pgmres->ss_origin + (a)) /* SS will be length (max_k+1) - sines */ 20: #define RS(a) (pgmres->rs_origin + (a)) /* RS will be length (max_k+2) - rt side */ 22: /* vector names */ 23: #define VEC_OFFSET 2 24: #define VEC_TEMP pgmres->vecs[0] /* work space */ 25: #define VEC_TEMP_MATOP pgmres->vecs[1] /* work space */ 26: #define VEC_VV(i) pgmres->vecs[VEC_OFFSET+i] /* use to access 27: othog basis vectors */ 28: #endif