众所周知,如果初始猜测足够接近并且生成的线性系统得到准确求解,牛顿法可以二次收敛。
我将牛顿法应用于高度病态的系统(条件数在)。我确信我的 Hessian 矩阵计算正确,但是我从未获得二次收敛。
我假设问题来自无法以足够的精度解决线性系统(我正在使用带有迭代细化的 LU 分解)。
有没有人知道任何参考,其中讨论了牛顿方法的收敛速度如何取决于获得的校正的准确性?
众所周知,如果初始猜测足够接近并且生成的线性系统得到准确求解,牛顿法可以二次收敛。
我将牛顿法应用于高度病态的系统(条件数在)。我确信我的 Hessian 矩阵计算正确,但是我从未获得二次收敛。
我假设问题来自无法以足够的精度解决线性系统(我正在使用带有迭代细化的 LU 分解)。
有没有人知道任何参考,其中讨论了牛顿方法的收敛速度如何取决于获得的校正的准确性?
是:参见 Higham 的书“数值算法的准确性和稳定性”,第二版,第 25 章:非线性系统和牛顿法。
特别是,请参阅关于雅可比条件数的“限制残差”部分。很可能是因为你的系统是病态的,所以你很快就达到了极限残差,你的迭代漫无目的地走来走去。如果可以的话,我会尝试长双精度或四精度。
注意:Higham 对这个主题的处理非常先进。建议先阅读 Corless 的“数值方法的研究生介绍”,第 3.2.1 节,根的条件数,它处理 1D 寻根问题的条件化,以及对 1D 牛顿法的讨论。