牛顿法:从切线到局部二次收敛

用泰勒展开说明牛顿法为何在单根附近快速收敛,并辨清局部结论的适用条件。

从一条切线开始

求解 f(x)=0f(x)=0 时,可以先在当前点 xnx_n 处用切线近似曲线,再把切线与横轴的交点作为下一次迭代值。于是得到

xn+1=xn−f(xn)f′(xn).x_{n+1}=x_n-\frac{f(x_n)}{f'(x_n)}.

这个几何想法很简单,但速度快并不意味着从任意位置出发都能找到根。导数接近零时,切线交点可能离得很远;函数的形状也可能让迭代在几个点之间来回跳动。因此,讨论收敛速度之前,应先说明根与初值满足什么条件。

局部结论需要哪些条件

设 α\alpha 是方程的根,ff 在 α\alpha 的某个邻域内二阶连续可微,并且 f′(α)≠0f'(\alpha)\ne 0。最后一个条件说明 α\alpha 是单根。由导数的连续性,可以取一个足够小的闭区间,使其中

∣f′(x)∣≥m>0,∣f′′(x)∣≤M.|f'(x)|\ge m>0,\qquad |f''(x)|\le M.

下界保证迭代中的除法有意义,上界则控制切线近似留下的误差。它们不是额外的神秘假设,而是连续性在小邻域内给出的具体信息。

用泰勒展开看误差

记 en=xn−αe_n=x_n-\alpha。在 xnx_n 处展开 f(α)=0f(\alpha)=0,其中 ξn\xi_n 位于 xnx_n 与 α\alpha 之间:

0=f(xn)+f′(xn)(α−xn)+f′′(ξn)2(α−xn)2.0=f(x_n)+f'(x_n)(\alpha-x_n) +\frac{f''(\xi_n)}{2}(\alpha-x_n)^2.

代入迭代公式,线性项恰好消去,得到

en+1=f′′(ξn)2f′(xn)en2,∣en+1∣≤C∣en∣2,C=M2m.e_{n+1}=\frac{f''(\xi_n)}{2f'(x_n)}e_n^2, \qquad |e_{n+1}|\le C|e_n|^2, \qquad C=\frac{M}{2m}.

再选取半径 r>0r>0,使上述区间包含 [α−r,α+r][\alpha-r,\alpha+r],且 Cr<1Cr<1。若 ∣e0∣≤r|e_0|\le r,则误差界说明下一点仍在区间内,并且误差至少按固定比例缩小。归纳可知迭代始终有定义,且 xn→αx_n\to\alpha。这也补上了直接使用误差公式时容易遗漏的“迭代不会离开邻域”一步。

二次收敛意味着什么

若迭代没有有限步到达根,则

lim⁡n→∞∣en+1∣∣en∣2=∣f′′(α)∣2∣f′(α)∣.\lim_{n\to\infty}\frac{|e_{n+1}|}{|e_n|^2} =\frac{|f''(\alpha)|}{2|f'(\alpha)|}.

当右端非零时,收敛阶恰好为二;若右端为零,可能收敛得更快。比如求 2\sqrt{2} 时,取 f(x)=x2−2f(x)=x^2-2、x0=1x_0=1,前几步为 1.51.5、1.416666…1.416666\ldots、1.414215…1.414215\ldots。计算展示了速度,证明解释了速度出现的条件;两者应当一起阅读。

这是一篇用于展示网站功能的示例,可替换为自己的学习笔记或真实项目记录。