在我的数值分析课程中,我了解到预处理线性方程组的主要动机是提高 LSE 迭代求解器的收敛速度。
但是,对计算解决方案的精度有影响吗?
我记得关于高斯消元计算解的精度的结果,可以在Golub 和 Van Loan 的《矩阵计算》中找到(第 122 页)。条件数(相对于某些特定范数)确实会影响该算法计算的数值解的精度。
人们可能会期望类似的情况也适用于通过共轭梯度获得的解决方案。我认为我在计算实验中观察到了这一点。当我在未预处理的系统上运行共轭梯度方法(长时间)直到满足某个停止标准时,计算的解决方案仍然显示出高残差。所以我想知道较低的条件数是否不仅会导致较低的运行时间,还会导致计算解决方案中的残差(或错误)较低。请注意,这必然是一个数值稳定性问题,这要求我们使用不精确的算术。
(我在 math.SE 上问过同样的问题,但我认为这个网站可能更合适。)