二次收敛速度是数值方法中描述迭代算法收敛速度的一个概念。对于牛顿迭代法,二次收敛速度意味着每迭代一次,误差的平方会减少,从而使得收敛速度非常快。
1. 定义
设 x∗ 是方程 f(x)=0 的精确解,xn​ 是第 n 次迭代的近似解。如果存在常数 C>0,使得:
n→∞lim​∣xn​−x∗∣2∣xn+1​−x∗∣​=C
则称迭代方法具有二次收敛速度。
2. 直观理解
-
线性收敛:误差以线性速度减少,即 ∣xn+1​−x∗∣≈C∣xn​−x∗∣。
-
二次收敛:误差以平方速度减少,即 ∣xn+1​−x∗∣≈C∣xn​−x∗∣2。
二次收敛速度比线性收敛速度快得多,因为每次迭代后,误差的位数大约会翻倍。
3. 牛顿迭代法的二次收敛性
牛顿迭代法的更新公式为:
xn+1​=xn​−f′(xn​)f(xn​)​
在满足以下条件时,牛顿迭代法具有二次收敛速度:
-
函数 f(x) 在解 x∗ 附近二阶连续可微。
-
初始猜测值 x0​ 足够接近真实解 x∗。
-
导数 f′(x∗)=0。
4. 示例
假设真实解为 x∗=0,初始猜测值为 x0​=0.1,且每次迭代后误差满足:
∣xn+1​−x∗∣≈∣xn​−x∗∣2
则迭代过程如下:
-
第一次迭代:
∣x1​−x∗∣≈∣x0​−x∗∣2=(0.1)2=0.01
-
第二次迭代:
∣x2​−x∗∣≈∣x1​−x∗∣2=(0.01)2=0.0001
-
第三次迭代:
∣x3​−x∗∣≈∣x2​−x∗∣2=(0.0001)2=0.00000001
可以看到,误差迅速减小,收敛速度非常快。
5. 为什么牛顿迭代法具有二次收敛速度?
牛顿迭代法的二次收敛性可以通过泰勒展开解释。假设 xn​ 接近真实解 x∗,则:
f(x∗)=f(xn​)+f′(xn​)(x∗−xn​)+2f′′(ξ)​(x∗−xn​)2
由于 f(x∗)=0,忽略高阶项后:
0≈f(xn​)+f′(xn​)(x∗−xn​)
解得:
x∗≈xn​−f′(xn​)f(xn​)​=xn+1​
因此,误差 en​=xn​−x∗ 满足:
en+1​≈2f′(xn​)f′′(ξ)​en2​
这表明误差以平方速度减少,即二次收敛。
6. 注意事项
-
初始猜测值:初始猜测值 x0​ 必须足够接近真实解 x∗,否则可能不收敛。
-
导数不为零:如果 f′(x∗)=0,收敛速度可能降低为线性。
-
计算导数:需要计算函数的导数 f′(x),对于复杂函数可能增加计算成本。
总结
二次收敛速度意味着误差以平方速度减少,是牛顿迭代法的一个重要特性。它使得牛顿迭代法在求解非线性方程时非常高效,尤其是在初始猜测值接近真实解的情况下。