9.4.7 再论迭代的收敛性
在本章前面我们分析了一个迭代的收敛性 $x_{n+1} = g(x_n)$ 用于求方程的根 $\alpha$ $f(x) = 0$ 。我们可以利用泰勒展开来分析这类方法的收敛速度。设 $x_n = \alpha + \varepsilon_n$ ,使得 $\varepsilon_n$ 是 $n$ 次迭代后的误差,我们有
$$\alpha + \varepsilon_{n+1} = g(\alpha + \varepsilon_n)$$
利用泰勒级数 (9.12) 将 $g(\alpha + \varepsilon_n)$ 在 $x = \alpha$ 附近展开,得到
$$g(\alpha + \varepsilon_n) = \alpha + \varepsilon_{n+1} = g(\alpha) + \frac{\varepsilon_n}{1!} g'(\alpha) + \frac{\varepsilon_n^2}{2!} g''(\alpha) + \frac{\varepsilon_n^3}{3!} g'''(\alpha) + \dots \quad (9.15)$$
由于 $\alpha$ 是方程的一个根 $f(x) = 0$ ,我们有 $\alpha = g(\alpha)$ 且 (9.15) 简化为
$$\varepsilon_{n+1} = \frac{\varepsilon_n}{1!} g'(\alpha) + \frac{\varepsilon_n^2}{2!} g''(\alpha) + \frac{\varepsilon_n^3}{3!} g'''(\alpha) + \dots \quad (9.16)$$
如果 $g'(\alpha) \neq 0$ 那么 $\varepsilon_{n+1}$ 与 $\varepsilon_n$ 成正比,于是我们得到一个一阶过程。如果 $g'(\alpha) = 0$ 且 $g''(\alpha) \neq 0$ 那么 $\varepsilon_{n+1}$ 成正比 $\varepsilon_n^2$ ,则我们有一个二阶过程,依此类推。
例 9.16
方程 $x \tan x = 4$ 有无穷多个根。为了求出靠近 $x = 1$ 的根,我们可以使用迭代
$$x_{n+1} = \tan^{-1}\left(\frac{4}{x_n}\right)$$
证明这是一个一阶过程。从 $x_0 = 1$ 开始,求出 $x_3$ 并评估其精度。
解 这里 $g(x) = \tan^{-1}(4/x)$ ,因此
$$g'(x) = \frac{-4}{x^2 + 16}$$
它对所有 $x$ , 即 $g'(\alpha) \neq 0$ 。因此该迭代是一阶过程。从 $x_0 = 1$ 开始,计算到 4 位小数,得到下表。
| $n$ | $x_n$ | $4/x_n$ | $\tan^{-1}(4/x_n)$ |
|---|---|---|---|
| 0 | 1.0000 | 4.0000 | 1.3258 |
| 1 | 1.3258 | 3.0170 | 1.2507 |
| 2 | 1.2507 | 3.1982 | 1.2678 |
| 3 | 1.2678 |
$$\varepsilon_{n+1} = \varepsilon_n g'(\alpha) + \dots$$