typedef enum {PC_COMPOSITE_ADDITIVE,PC_COMPOSITE_MULTIPLICATIVE,PC_COMPOSITE_SYMMETRIC_MULTIPLICATIVE,PC_COMPOSITE_SPECIAL,PC_COMPOSITE_SCHUR,PC_COMPOSITE_GKB} PCCompositeType;
PC_COMPOSITE_ADDITIVE - results from application of all preconditioners are added together
PC_COMPOSITE_MULTIPLICATIVE - preconditioners are applied sequentially to the residual freshly
computed after the previous preconditioner application
PC_COMPOSITE_SYMMETRIC_MULTIPLICATIVE - preconditioners are applied sequentially to the residual freshly
computed from first preconditioner to last and then back (Use only for symmetric matrices and preconditioners)
PC_COMPOSITE_SPECIAL - This is very special for a matrix of the form alpha I + R + S
where first preconditioner is built from alpha I + S and second from
alpha I + R