导读:Newton 法快但挑剔:需要好初值、非零导数、光滑函数。NR 给出的安全网设计,是把「快」与「稳」组合起来。
Newton 与它的软肋
Newton 迭代 $x_{k+1} = x_k - f(x_k)/f'(x_k)$ 二阶收敛,但:初值不在收敛域内直接发散;$f'$ 接近零时步长爆炸;多重根退化为线性收敛。
工程实践:解析导数永远优于差分近似——差分步长本身又是一层数值误差。
安全网一:阻尼与限幅
阻尼 Newton:若全步长使 $\|f\|$ 增大,则折半步长(线搜索)。限幅:每步位移不超过特征尺度。这两招让 Newton 在电力系统潮流、化学平衡等工程问题里「几乎不会死」。
安全网二:无导数方法兜底
函数不可导或导数难写时,用 Brent 方法(超线性收敛、保收敛):bracketing(二分保底)+ 反插值(加速)的组合。一维问题首选 Brent;多维用 Powell/BFGS 类无导数优化。
本站潮流计算文章的 Newton-Raphson 实现即「阻尼 + 稀疏雅可比」的完整工程版本。
常见误区
- 初值随便给,Newton 不收敛就换随机数重试。
- 多重根场景下把收敛变慢误判为程序 bug。
吃透自检
- 能实现阻尼 Newton 并说明每道保险的作用
- 能为一维问题写出 Brent 法的调用方案
- 能诊断 Newton 失败的原因类别(初值/导数/奇性)