  We consider three mathematically equivalent variants of the conjugate
gradient (CG) algorithm and how they perform in finite precision arithmetic. It
was shown in [{\em Behavior of slightly perturbed Lanczos and
conjugate-gradient recurrences}, Lin.~Alg.~Appl., 113 (1989), pp.~7-63] that
under certain conditions the convergence of a slightly perturbed CG computation
is like that of exact CG for a matrix with many eigenvalues distributed
throughout tiny intervals about the eigenvalues of the given matrix, the size
of the intervals being determined by how closely these conditions are
satisfied. We determine to what extent each of these variants satisfies the
desired conditions, using a set of test problems and show that there is
significant correlation between how well these conditions are satisfied and how
well the finite precision computation converges before reaching its ultimately
attainable accuracy. We show that for problems where the width of the intervals
containing the eigenvalues of the associated exact CG matrix makes a
significant difference in the behavior of exact CG, the different CG variants
behave differently in finite precision arithmetic. For problems where the
interval width makes little difference or where the convergence of exact CG is
essentially governed by the upper bound based on the square root of the
condition number of the matrix, the different CG variants converge similarly in
finite precision arithmetic until the ultimate level of accuracy is achieved,
although this ultimate level of accuracy may be different for the different
variants. This points to the need for testing new CG variants on problems that
are especially sensitive to rounding errors.
