对应教材 4.1.5–4.1.8、定理 4.6–4.9、例 3–5、习题 6–9;对应老师第 8 讲、第 9 讲 §三–§四。
主线:Newton 用切线,割线用两点;前者二阶但要导数,后者 1.618 阶但只需函数值。
把 f ( x ) = 0 f(x)=0 f ( x ) = 0 在 x k x_k x k 处线性化:
f ( x ) ≈ f ( x k ) + f ′ ( x k ) ( x − x k ) , f(x)\approx f(x_k)+f'(x_k)(x-x_k), f ( x ) ≈ f ( x k ) + f ′ ( x k ) ( x − x k ) ,
令近似为零,得
x k + 1 = x k − f ( x k ) f ′ ( x k ) . x_{k+1}=x_k-\frac{f(x_k)}{f'(x_k)}. x k + 1 = x k − f ′ ( x k ) f ( x k ) .
几何上,x k + 1 x_{k+1} x k + 1 是曲线在 ( x k , f ( x k ) ) (x_k,f(x_k)) ( x k , f ( x k )) 处切线与 x x x 轴的交点。
定理 4.6(局部平方收敛) :设 f f f 在根 s s s 的某邻域内二阶连续可导,f ( s ) = 0 f(s)=0 f ( s ) = 0 ,f ′ ( s ) ≠ 0 f'(s)\ne0 f ′ ( s ) = 0 。则存在 δ > 0 \delta\gt0 δ > 0 ,当 x 0 ∈ ( s − δ , s + δ ) x_0\in(s-\delta,s+\delta) x 0 ∈ ( s − δ , s + δ ) 时 Newton 迭代收敛到 s s s ,且至少平方收敛。
证明要点 :令 φ ( x ) = x − f ( x ) / f ′ ( x ) \varphi(x)=x-f(x)/f'(x) φ ( x ) = x − f ( x ) / f ′ ( x ) ,则 φ ( s ) = s \varphi(s)=s φ ( s ) = s ,
φ ′ ( x ) = f ( x ) f ′ ′ ( x ) [ f ′ ( x ) ] 2 , φ ′ ( s ) = 0. \varphi'(x)=\frac{f(x)f''(x)}{[f'(x)]^2},\qquad \varphi'(s)=0. φ ′ ( x ) = [ f ′ ( x ) ] 2 f ( x ) f ′′ ( x ) , φ ′ ( s ) = 0.
由定理 4.4(m = 2 m=2 m = 2 )得平方收敛。■ \blacksquare ■
定理 4.7(全局收敛,教材称“大范围收敛性定理”) :设
f ∈ C 2 [ a , b ] f\in C^2[a,b] f ∈ C 2 [ a , b ] ,f ( a ) f ( b ) < 0 f(a)f(b)\lt0 f ( a ) f ( b ) < 0 ;
f ′ ′ ( x ) f''(x) f ′′ ( x ) 在 [ a , b ] [a,b] [ a , b ] 上不变号;
f ′ ( x ) f'(x) f ′ ( x ) 在 [ a , b ] [a,b] [ a , b ] 上不为零;
x 0 ∈ [ a , b ] x_0\in[a,b] x 0 ∈ [ a , b ] ,且 f ( x 0 ) f ′ ′ ( x 0 ) > 0 f(x_0)f''(x_0)\gt0 f ( x 0 ) f ′′ ( x 0 ) > 0 。
则 Newton 迭代收敛到 [ a , b ] [a,b] [ a , b ] 内唯一根 s s s ,且至少平方收敛。
证明要点 :由条件 (2)(3),f f f 单调且凸性不变,f f f 在 [ a , b ] [a,b] [ a , b ] 内只有一个根。条件 (4) 保证 x 0 x_0 x 0 在“根的同侧”,迭代点单调有界,极限存在;再证极限为根。收敛阶由定理 4.6。完整证明见第 9 讲 。■ \blacksquare ■
例 3(教材 4.1.5) :f ( x ) = x 3 − x − 1 = 0 f(x)=x^3-x-1=0 f ( x ) = x 3 − x − 1 = 0 ,取 x 0 = 1.5 x_0=1.5 x 0 = 1.5 :
x 1 = 1.34783 , x 2 = 1.32520 , x 3 = 1.32472. x_1=1.34783,\quad x_2=1.32520,\quad x_3=1.32472. x 1 = 1.34783 , x 2 = 1.32520 , x 3 = 1.32472.
3 次就到 1 0 − 5 10^{-5} 1 0 − 5 ,明显快于简单迭代的 5 次到 1 0 − 4 10^{-4} 1 0 − 4 。
若 s s s 是 f f f 的 m m m 重根,f ( x ) = ( x − s ) m g ( x ) f(x)=(x-s)^m g(x) f ( x ) = ( x − s ) m g ( x ) ,g ( s ) ≠ 0 g(s)\ne0 g ( s ) = 0 ,则 f ′ ( s ) = 0 f'(s)=0 f ′ ( s ) = 0 ,普通 Newton 法退化为线性收敛。若 m m m 已知,改用
x k + 1 = x k − m f ( x k ) f ′ ( x k ) , x_{k+1}=x_k-m\frac{f(x_k)}{f'(x_k)}, x k + 1 = x k − m f ′ ( x k ) f ( x k ) ,
可恢复平方收敛;若 m m m 未知,可用
x k + 1 = x k − f ( x k ) f ′ ( x k ) [ f ′ ( x k ) ] 2 − f ( x k ) f ′ ′ ( x k ) x_{k+1}=x_k-\frac{f(x_k)f'(x_k)}{[f'(x_k)]^2-f(x_k)f''(x_k)} x k + 1 = x k − [ f ′ ( x k ) ] 2 − f ( x k ) f ′′ ( x k ) f ( x k ) f ′ ( x k )
(修正 Newton),在重根处仍二阶。
用差商代替导数:
f ′ ( x k ) ≈ f ( x k ) − f ( x k − 1 ) x k − x k − 1 , f'(x_k)\approx\frac{f(x_k)-f(x_{k-1})}{x_k-x_{k-1}}, f ′ ( x k ) ≈ x k − x k − 1 f ( x k ) − f ( x k − 1 ) ,
得
x k + 1 = x k − f ( x k ) ( x k − x k − 1 ) f ( x k ) − f ( x k − 1 ) . x_{k+1}=x_k-\frac{f(x_k)(x_k-x_{k-1})}{f(x_k)-f(x_{k-1})}. x k + 1 = x k − f ( x k ) − f ( x k − 1 ) f ( x k ) ( x k − x k − 1 ) .
需要两个初值 x 0 , x 1 x_0,x_1 x 0 , x 1 ,每步只算一次新函数值(Newton 每步要算 f f f 和 f ′ f' f ′ )。
定理 4.8 :设 f f f 在根 s s s 附近二阶连续可导,f ′ ( s ) ≠ 0 f'(s)\ne0 f ′ ( s ) = 0 ,初值充分接近 s s s ,则割线法收敛,收敛阶为
p = 1 + 5 2 ≈ 1.618. p=\frac{1+\sqrt5}{2}\approx1.618. p = 2 1 + 5 ≈ 1.618.
例 4(教材 4.1.7) :仍取 x 3 − x − 1 = 0 x^3-x-1=0 x 3 − x − 1 = 0 ,x 0 = 1 , x 1 = 2 x_0=1,x_1=2 x 0 = 1 , x 1 = 2 :
k k k x k x_k x k ∣ f ( x k ) ∣ |f(x_k)| ∣ f ( x k ) ∣
0 2.0000000000 5.00 5.00 5.00
1 1.1666666667 5.79 × 1 0 − 1 5.79\times10^{-1} 5.79 × 1 0 − 1
2 1.2531120332 2.85 × 1 0 − 1 2.85\times10^{-1} 2.85 × 1 0 − 1
3 1.3372064458 5.39 × 1 0 − 2 5.39\times10^{-2} 5.39 × 1 0 − 2
4 1.3238500964 3.70 × 1 0 − 3 3.70\times10^{-3} 3.70 × 1 0 − 3
5 1.3247079365 4.27 × 1 0 − 5 4.27\times10^{-5} 4.27 × 1 0 − 5
6 1.3247179654 3.46 × 1 0 − 8 3.46\times10^{-8} 3.46 × 1 0 − 8
7 1.3247179572 3.23 × 1 0 − 13 3.23\times10^{-13} 3.23 × 1 0 − 13
约 6 次到 1 0 − 7 10^{-7} 1 0 − 7 ;比 Newton 慢,但每步省一次导数。
若把 x k − 1 x_{k-1} x k − 1 固定为初值 x 0 x_0 x 0 ,只更新 x k x_k x k :
x k + 1 = x k − f ( x k ) ( x k − x 0 ) f ( x k ) − f ( x 0 ) . x_{k+1}=x_k-\frac{f(x_k)(x_k-x_0)}{f(x_k)-f(x_0)}. x k + 1 = x k − f ( x k ) − f ( x 0 ) f ( x k ) ( x k − x 0 ) .
这就是单点割线法(试位法的一种)。它只需一个初值和一个固定点,收敛是线性的。
定理 4.9 :在 f ( a ) f ( b ) < 0 f(a)f(b)\lt0 f ( a ) f ( b ) < 0 、f ′ f' f ′ 不变号等条件下,单点割线法收敛,且为线性收敛。
例 5(教材 4.1.8) :仍取 x 3 − x − 1 = 0 x^3-x-1=0 x 3 − x − 1 = 0 ,固定 x 0 = 1 x_0=1 x 0 = 1 ,从 x = 2 x=2 x = 2 出发:
k k k x k x_k x k ∣ f ( x k ) ∣ |f(x_k)| ∣ f ( x k ) ∣
0 2.0000000000 5.00 5.00 5.00
1 1.1666666667 5.79 × 1 0 − 1 5.79\times10^{-1} 5.79 × 1 0 − 1
2 1.3956043956 3.23 × 1 0 − 1 3.23\times10^{-1} 3.23 × 1 0 − 1
3 1.2991042404 1.07 × 1 0 − 1 1.07\times10^{-1} 1.07 × 1 0 − 1
4 1.3348091646 4.34 × 1 0 − 2 4.34\times10^{-2} 4.34 × 1 0 − 2
5 1.3208702339 1.64 × 1 0 − 2 1.64\times10^{-2} 1.64 × 1 0 − 2
6 1.3262037791 6.35 × 1 0 − 3 6.35\times10^{-3} 6.35 × 1 0 − 3
7 1.3241469816 2.43 × 1 0 − 3 2.43\times10^{-3} 2.43 × 1 0 − 3
8 1.3249377847 9.38 × 1 0 − 4 9.38\times10^{-4} 9.38 × 1 0 − 4
9 1.3246333840 3.61 × 1 0 − 4 3.61\times10^{-4} 3.61 × 1 0 − 4
10 1.3247505038 1.39 × 1 0 − 4 1.39\times10^{-4} 1.39 × 1 0 − 4
11 1.3247054336 5.34 × 1 0 − 5 5.34\times10^{-5} 5.34 × 1 0 − 5
线性收敛,11 次才到 1 0 − 4 10^{-4} 1 0 − 4 量级;比割线法慢,但只需一个初值和一个固定点。
方法 每步信息 收敛阶 初值 适用
对分法 f f f 1(公比 1/2) 区间 只求实根,最稳
简单迭代 φ \varphi φ 1 或 m m m 一个 需选对 φ \varphi φ
Newton f , f ′ f,f' f , f ′ 2 一个,靠近根 光滑、导数好算
割线法 f f f 1.618 两个 导数难算
单点割线 f f f 1 一个 + 固定点 简单但慢
4.6 · Newton 法(教材习题 6)
用 Newton 法求指定方程的根,要求 ∣ x k − x k − 1 ∣ / ∣ x k ∣ ≤ 1 0 − 5 |x_k-x_{k-1}|/|x_k|\le10^{-5} ∣ x k − x k − 1 ∣/∣ x k ∣ ≤ 1 0 − 5 ,并说明收敛理由。
参考答案
先验证 f ( a ) f ( b ) < 0 f(a)f(b)\lt0 f ( a ) f ( b ) < 0 、f ′ ≠ 0 f'\ne0 f ′ = 0 、f ′ ′ f'' f ′′ 不变号、初值满足 f ( x 0 ) f ′ ′ ( x 0 ) > 0 f(x_0)f''(x_0)\gt0 f ( x 0 ) f ′′ ( x 0 ) > 0 (定理 4.7),再迭代 x k + 1 = x k − f / f ′ x_{k+1}=x_k-f/f' x k + 1 = x k − f / f ′ ;停机用相对差。
4.7 · 三阶收敛条件(教材习题 7)
f f f 满足什么条件可使 Newton 法具有三阶收敛速度?
参考答案
Newton 的 φ ′ ( s ) = 0 \varphi'(s)=0 φ ′ ( s ) = 0 恒成立;要三阶需 φ ′ ′ ( s ) = 0 \varphi''(s)=0 φ ′′ ( s ) = 0 ,即 f ′ ′ ( s ) = 0 f''(s)=0 f ′′ ( s ) = 0 (结合 f ( s ) = 0 , f ′ ( s ) ≠ 0 f(s)=0,f'(s)\ne0 f ( s ) = 0 , f ′ ( s ) = 0 )。这就是“根处二阶导数为零”的三阶条件。
4.8 · 重根(教材习题 8)
设 s s s 是 f ( x ) = 0 f(x)=0 f ( x ) = 0 的 m m m 重根,f ( 4 ) f^{(4)} f ( 4 ) 连续,f ′ ( s ) ≠ 0 f'(s)\ne0 f ′ ( s ) = 0 (题面按教材),讨论修正 Newton 的收敛阶。
参考答案
普通 Newton 在重根处线性收敛;用 x k + 1 = x k − m f / f ′ x_{k+1}=x_k-m f/f' x k + 1 = x k − m f / f ′ (m m m 已知)可恢复到二阶;若用 f f ′ / ( ( f ′ ) 2 − f f ′ ′ ) f f'/((f')^2-ff'') f f ′ / (( f ′ ) 2 − f f ′′ ) 的修正形式,也在重根处二阶。关键是消去 ( x − s ) m − 1 (x-s)^{m-1} ( x − s ) m − 1 因子。
4.9 · 割线与单点割线(教材习题 9)
分别用割线法和单点割线法求指定方程的根。
参考答案
割线法用两个初值,迭代 x k + 1 = x k − f ( x k ) ( x k − x k − 1 ) / ( f ( x k ) − f ( x k − 1 ) ) x_{k+1}=x_k-f(x_k)(x_k-x_{k-1})/(f(x_k)-f(x_{k-1})) x k + 1 = x k − f ( x k ) ( x k − x k − 1 ) / ( f ( x k ) − f ( x k − 1 )) ,阶 1.618;单点割线固定一个初值,线性收敛。两者都不需要导数。
覆盖核对
本节覆盖教材 4.1.5–4.1.8、定理 4.6–4.9、例 3–5、习题 6–9;老师第 8 讲、第 9 讲 §三–§四。下一节:4.2 非线性方程组 。