牛顿法
牛顿法(Newton's method),又称牛顿—拉夫逊法,是利用函数的局部线性近似求零点的迭代方法。对可微实函数 ,从初值 出发,在导数非零时按 生成新近似。几何上,新点是当前切线与横轴的交点。适当光滑性、单根条件和足够接近的初值可保证局部二次收敛;这些条件不满足时,算法可能变慢、进入循环或发散。
牛顿法是一种有条件的局部方法,不是任给初值都有效的求根公式。其价值来自用导数换取快速改进,其风险也来自把局部切线延伸到可能很远的位置。因此理解公式必须同时理解导数、初值、停止规则和失败例。
切线为何给出下一次近似
在当前点 附近,函数可用线性式近似: 把右边设为零并求解 ,便得到牛顿更新公式。这里不是声称原函数在整条切线上都等于这个线性式,而是把较容易求根的局部模型当作下一次猜测。随后回到原函数重新计算切线,不断修正。
分母的作用值得单独理解。同样大小的函数残差,在陡峭位置对应较短的水平修正,在平缓位置对应较长的修正。如果导数很小,切线的横轴交点可能离当前位置很远,走出有效近似范围。若导数为零而函数值不为零,切线平行于横轴,更新根本没有定义。
初值并非必须通过另一种精确求解得到,可以来自图形、物理范围、粗网格搜索或二分法给出的夹逼区间。合理初值减少失败机会,但“看起来靠近”不是数学保证。理论中的足够近意味着处在某个能够控制导数与二阶误差的邻域中;这个邻域通常依赖具体函数。
算例一:平方根二与误差恒等式
对 ,更新成为 从 开始,可计算下列数值。表中的最后几位用于展示趋势,不作为无条件精度证明。
| 迭代编号 | 近似值 | 说明 |
|---|---|---|
| 0 | 1 | 正初值,导数非零 |
| 1 | 1.5 | 切线修正后越过正根 |
| 2 | 1.4166666667 | 用上一步重新计算局部模型 |
| 3 | 1.4142156863 | 误差进一步平方缩小 |
| 4 | 1.4142135624 | 位置误差约为 |
设正根为 。因为 ,直接代数整理得到精确关系 只要当前近似为正,下一步就不小于正根。第一步以后,近似在根的上方;此时若还大于根,更新式又使它下降。这个正值、单调、有下界的结构证明了该初值下的收敛,而误差恒等式进一步解释二次速度。
相邻误差不是固定乘以一个常数,而近似为前一误差的平方乘以稳定系数。误差足够小时,正确数字数目因此大致翻倍。不过浮点舍入到达机器精度后,这种趋势停止;展示很多相同数字不能证明后续还有同样快的数学改进。
算例二:求一个非线性平衡点
方程 在区间 有根,因为端点函数值异号;该区间上导数 ,所以根唯一。牛顿更新为 从 出发,第一步为 ,第二步约为 ,第三步约为 ,随后趋于 。每步都使用当前导数,而不是把初始导数固定下来。
这个例子也能检查误差保证。若确认候选点和根都留在 ,则整个区间上导数至少为二,中值定理给出位置误差不超过残差的一半。这个界虽然可能偏保守,却把“看起来稳定”的小数变成可解释的误差估计。若候选点离开此区间,先前的导数下界不能继续无条件使用。
从同一个多项式的另一个初值开始,路径可能不同。根存在且唯一于某个区间,并不意味着不受约束的牛顿迭代永远留在该区间。求解软件常把存在性分析、初值选择和迭代保护结合起来,而不是只提供更新公式。
二次收敛的条件与证明
设 是单根,即 且 。假定 在根附近二次连续可微。取一个足够小的邻域,使其中 、。对当前点与根之间使用泰勒公式,存在中间点 使 把牛顿公式代入并整理,记误差 ,可得 只要初值足够近,使右边仍落在这个邻域内且比当前误差小,就可归纳保证后续迭代持续有效并收敛。证明中“足够近”的作用是保证不会跳出导数和余项已受控制的区域。Driscoll 与 Braun,Newton's method
若 ,误差比 趋于 。若二阶导数在根处也为零,可能获得更高阶速度;因此“二次收敛”常被理解为至少相应的局部二阶误差控制,具体阶数要看函数。对线性函数,切线就是原函数,导数非零时一步便找到根。
这个推导还说明根的条件数与算法速度不是同一个概念。导数很小的根对函数扰动可能敏感,即使迭代值收敛得快,输入函数本身的微小误差也可能使真根移动较大。算法误差、舍入误差和模型误差要分别考虑。
重根、周期循环与发散:三个不同失败机制
若 ,其中整数 ,普通牛顿法满足 误差只按固定比例缩小,通常变为线性收敛。重根处导数为零,单根定理的前提已经失效。如果重数已知,可用修正公式 恢复更快局部收敛;但随意猜重数并不能保证改进。
一个光滑函数也能产生循环。取 ,从零开始:、,所以第一步到一;在一处,函数值为一、导数也为一,下一步又回到零。算法在零与一之间永远往返,尽管多项式在别处有实根。这个反例表明光滑性本身不能替代适当初值。
取 ,从任何非零实数开始,在可求导点有 ,更新化为 。绝对值每步翻倍而发散。根处导数不符合单根定理要求,曲线看起来穿过原点也不足以保证切线迭代趋近它。
还可能直接遇到无定义步骤,例如求 却选初值零,第一步分母就为零。若函数含对数或平方根,牛顿步还可能走出函数定义域。程序应把这些情形记录为失败或触发保护策略,不能通过丢弃异常值继续宣称得到有效序列。
停止条件:小步、小残差与误差证据
常用停止条件包括步长足够小、残差足够小、达到最大迭代次数。但小步可能来自浮点停滞,也可能来自不可靠的导数;小残差可能来自函数整体缩放。二者是有用信号,却不是对所有问题都成立的位置误差证明。
在已知导数绝对值有正下界的区间,可用残差除以下界控制位置误差。若仍保留可靠夹逼区间,可用区间宽度提供独立证据。在实际计算中,通常同时检查绝对和相对步长容差、适当缩放后的残差、函数定义域、导数可靠性与迭代上限,并向调用者返回明确停止原因。
导数可以来自解析公式、自动微分或数值差分。解析导数写错会系统性破坏方法;差分步长太大造成截断误差,太小则放大舍入与相消影响。自动微分计算的是程序执行的函数的导数,也不能修复模型本身或不恰当分支选择。把导数来源记录下来,有助于解释一个迭代为何失败。
纯牛顿法不保留异号区间。常见保护策略是先建立夹逼区间,再尝试牛顿候选点;当候选点不在区间内或下降质量不足时,改用二分中点。另一种做法给修正量乘以 的阻尼因子,并通过线搜索选择它。保护措施需要自己的接受规则和终止条件,不能认为加上“阻尼”二字就自动获得全局收敛。
多元推广与优化问题中的角色
对向量方程 ,在当前点求解线性系统 其中 是雅可比矩阵。实现时通常直接解线性系统,不显式求逆矩阵。这里的逻辑与一元相同:用局部线性模型替代非线性方程,再求模型的零点。雅可比矩阵奇异或病态时,同样需要分析和保护。
在优化中令 ,便得到使用海森矩阵的牛顿型驻点迭代。找到梯度为零并不保证得到最小值,也可能是最大值或鞍点;如果海森矩阵不正定,牛顿方向甚至不一定使目标下降。把“求根方法”改用于“最小化问题”需要补充目标与曲率条件,不能只更换函数名称。
牛顿法与最小二乘法、微分方程隐式离散都常发生联系,但具体算法可能使用近似雅可比、信赖域或其他保护机制。百科中的通用公式提供共同原理,实际软件方法仍应查明采用了哪一种变体。
平方根迭代为什么在正半轴特别稳定
对任意 ,平方根牛顿迭代为 。若初值为正,则后续始终为正。设 ,前述代数恒等式仍成立,第一步就把近似放到根的上方;若当前点大于根,则 ,下一点小于当前点。于是从第一步起序列单调下降,并由正根提供下界。
极限存在后,把更新式取极限,正极限 满足 ,所以 ,只能是正根。这个特殊问题具有比一般局部牛顿定理更强的正半轴收敛保证。它来自函数的具体代数结构,不能从一次成功经验推断所有牛顿问题都如此稳定。
还可以用近似值构造夹逼证书。一旦 ,便有 。上界来自当前迭代,下界来自倒数对应值;二者的差提供可计算误差范围。正问题中的这种双向估计尤其适合说明数值精度,而不仅是观察相邻两次结果是否变化很小。
对一般函数,若能找到包含根的区间,并证明二阶导数符号固定、导数不为零,常可选择合适端点让切线迭代保持单侧单调逼近。但这些结论需要逐项检验曲率和端点符号。它们是充分条件,既不是每个收敛案例都必须满足,也不是单独观察一个导数符号就能保证。
在实现层面,函数及导数可能具有完全不同的计算成本。若导数需要一次昂贵模拟,牛顿每步减少的误差虽快,总运行时间未必优于无导数方法;若导数可与函数共享计算,牛顿则可能更合算。比较方法时应记录函数与导数求值次数、线性系统成本和达到的实际误差,而不只比较迭代行数。
初值敏感性还会影响可重复性。两个相近起点在某些非线性问题中可能进入不同根的吸引域,得出不同但都有效的零点。结果报告应说明期待的是哪个根、它满足什么额外约束,以及如何确认迭代没有转向不相关解。这些信息属于求解问题的定义,不是事后附加的说明。
历史:牛顿、拉夫逊与辛普森的不同贡献
牛顿在 1669 年的工作中研究方程近似求根,拉夫逊于 1690 年发表了改进的计算形式,辛普森于 1740 年进一步发展以导数表达的一般迭代及推广。现代常见公式并不应原封不动地归为牛顿一人的原始表述;命名体现了一个逐步形成的方法传统。CLP,Newton's Method;MacTutor:Thomas Simpson
平方根迭代有更早的计算渊源,但一个特殊问题中出现相同代数步骤,不等于当时已经拥有后来的一般可微函数理论。历史描述需要同时说明对象范围和论证语言,才能区分早期算法、一般化公式与现代收敛分析。
English overview
Newton's method replaces a nonlinear equation by a local linear model and uses the zero of that model as the next approximation. In one variable, the update subtracts the function value divided by its derivative. Geometrically, this is the intersection of the current tangent line with the horizontal axis.
Near a simple root of a sufficiently smooth function, an appropriate initial value gives quadratic convergence. Taylor's theorem expresses the next error as a bounded coefficient times the square of the current error. The locality and the nonzero derivative assumption are essential. Multiple roots generally reduce the rate to linear convergence, and smooth functions can still produce cycles from unsuitable starting points.
Practical termination must distinguish small steps, small residuals, and certified position errors. A derivative lower bound or a retained bracket can provide stronger evidence than stable-looking decimal digits. Derivative accuracy, domain restrictions, floating-point stagnation, and iteration limits also require attention. Safeguarded variants combine Newton steps with bracketing or damping. For vector equations, each iteration solves a linear system involving the Jacobian. Applied to an optimization gradient, the method seeks a stationary point, which is not automatically a minimum. The modern algorithm reflects contributions from Newton, Raphson, Simpson, and later numerical analysis.
编者评注(AI 辅助)
本站把成功算例与失败机制放在同一条推理线上:平方根的误差恒等式解释快在哪里,重根、循环和发散则分别检验单根、初值与光滑性条件。这样组织有意避免把牛顿法写成一个“比二分快”的口号。算法速度只在相应条件下有意义,停止原因和误差证据同样属于方法本身。多元与优化推广作为连接保留,但不以公式相似掩盖目标已经改变。
参考资料与知识联系
- Tobin A. Driscoll、Richard J. Braun,Fundamentals of Numerical Computation,Newton's method:局部线性化与收敛分析。
- CLP Calculus,Newton's Method,大学课程公开镜像:几何推导及历史注释。
- MacTutor,University of St Andrews,Thomas Simpson:现代公式形成背景。
- 前置:导数、极限;比较:二分法;推广:矩阵、优化、最小二乘法。