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.
翻译:我们认为,在某种条件下,略微偏转的CG计算方法的趋同式有三个数学等值变异体,其间值分布在给定矩阵的偏差值的微小间隔内,其间距大小取决于这些条件的满足程度。我们用一系列测试问题来确定这些变异体在多大程度上满足了理想条件,并表明这些变异体的满意程度与精确度在达到其最终可达到的准确性之前的精确度之间有很大的相互关系。我们发现,对于包含相关精度CG矩阵的易变值的宽度的矩阵来说,其间值分布在给定矩阵的偏差间距内,其间距的大小取决于这些条件的满足程度。我们用一组测试问题来确定这些变异体的每个变异体在多大程度上满足了理想条件。我们确定这些变异体的每个变异体在多大程度上满足了这些条件,并表明,这些条件的满意度和精确度之间有很大的相关性。对于总和精确度的精度的精度程度来说,在C值的精确度的精度方面,其精确度程度在C值的精确度上,其最后的精确度水平上是不同的。在C的精确度上,最精确度的精确度上,在C的精确度的精确度上,最差的精确度上,其最差的精确度是最差的精确度上,最差的精确度的精确度的精确度是C。