If you are using CG on a matrix that isn't SPD, then you are doing something very wrong.<p>Actually, this isn't so weird.  There are a number of domain decomposition schemes that use CG, but keep all iterates in a benign space on which the operator is SPD, even though the real system is indefinite (porous media and Stokes/mixed elasticity).  See work by Axel Klawonn, and recent stuff from Xuemin Tu.