考虑例 5.32 中的三对角方程组:
$$\begin{aligned} 2x + y &= 1 \ x + 2y + z &= 1 \ y + 2z + t &= 1 \ z + 2t &= -2 \end{aligned}$$
我们可以将其重新整理为
$$x = \frac{1}{2}(1 - y) \quad \text{or} \quad \begin{bmatrix} x \ y \end{bmatrix} = \frac{1}{2} \begin{bmatrix} -1 & 0 & -1 & 0 & 0 \ 0 & -1 & 0 & 0 & 0 \ 0 & 0 & -1 & 0 & 0 \ 0 & 0 & 0 & -1 & 0 \ 0 & 0 & 0 & 0 & -1 \end{bmatrix} \begin{bmatrix} x \ y \end{bmatrix} + \frac{1}{2} \begin{bmatrix} 1 \ 1 \ 1 \ 1 \ -2 \end{bmatrix} \quad (5.28)$$
假设我们从 $x = y = z = t = 0$ 开始。我们将这些代入右端并计算新的 $x$ , $y$ , $z$ 和 $t$ ;然后将新值代回并重复该过程。这样的迭代给出图 5.14 所示的结果。可以看到数值以令人沮丧的速度缓慢趋向解 1, -1, 2, -2:即使经过二十次迭代,数值仍为 0.9381, -0.9767, 1.9727, -1.9856。刚才描述的方法称为 Jacobi 方法,使用上标作为迭代计数器,可以写成如下形式
$$\begin{aligned} x^{(r+1)} &= \frac{1}{2}(1 - y^{(r)}) \ y^{(r+1)} &= \frac{1}{2}(1 - x^{(r)} - z^{(r)}) \ z^{(r+1)} &= \frac{1}{2}(1 - y^{(r)} - t^{(r)}) \ t^{(r+1)} &= \frac{1}{2}(-2 - z^{(r)}) \end{aligned}$$
一个显而易见的步骤是一旦得到新值就立即使用它们。在双变量例子中,同样的方程
$$\begin{aligned} x &= \frac{1}{4}(2 - y) \ y &= \frac{1}{4}(-7 - x) \end{aligned}$$
| 迭代 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| $x$ | 0 | 0.5 | 0.25 | 0.5 | 0.5 | 0.6562 | 0.6719 | 0.7734 | 0.7852 | 0.8516 | 0.8594 |
| $y$ | 0 | 0.5 | 0 | 0 | -0.3125 | -0.3437 | -0.5469 | -0.5703 | -0.7031 | -0.7187 | -0.8057 |
| $z$ | 0 | 0.5 | 0.75 | 1.1250 | 1.1875 | 1.4375 | 1.4687 | 1.6328 | 1.6523 | 1.7598 | 1.7725 |
| $t$ | 0 | -1 | -1.25 | -1.3750 | -1.5625 | -1.5937 | -1.7187 | -1.7344 | -1.8164 | -1.8262 | -1.8799 |
图 5.14 使用 Jacobi 迭代求解 (5.28) 的迭代解。