共轭梯度法在继续进行时会累积错误。因此,将其用作直接求解器是不明智的。我的问题是,即使用作迭代求解器,它是否有助于每 5 步左右重新计算一次残差以试图减轻这些类型的错误?我没有听说有人这样做,但这似乎很明显。如果它没有帮助,你能解释为什么吗?
重新计算共轭梯度法中的残差有帮助吗?
计算科学
线性求解器
共轭梯度
2021-12-08 02:29:38
2个回答
没有人这样做。似乎每个考虑过这个问题的人都得出这样的结论:不精确计算残差所产生的误差很小,而且每隔几次迭代计算一次就会浪费时间。
我相信原因在于,即使对于具有数十万或数亿个未知数的大型系统,我们通常最多也只进行数百或数千次迭代。由于四舍五入,这不足以使错误显着增加。
本教程讨论每 50 次迭代重新计算残差以减少舍入误差。
其它你可能感兴趣的问题