线性方程组的迭代解法

线性方程组的迭代解法

  • 简单迭代法
    • 迭代公式
      • 已知线性方程组 Ax=bA\boldsymbol x = \boldsymbol b。
      • 第一种迭代格式:
        • 原方程组化为 x=(I−A)x+b\boldsymbol x = (I - A)\boldsymbol x + \boldsymbol b,则迭代公式为 x(k+1)=(I−A)x(k)+b\boldsymbol x^{(k+1)} = (I - A) \boldsymbol x^{(k)} + \boldsymbol b。
      • 第二种迭代格式(雅可比迭代法):
        • 对于第 ii 个方程,将 xix_i 用其他未知数表示:xi=∑j≠i(−aijaii)xj+biaii=∑j=1ngijxj+fix_i = \displaystyle\sum_{j\ne i} \left(-\dfrac{a_{ij}}{a_{ii}}\right) x_j + \dfrac{b_i}{a_{ii}}=\displaystyle\sum_{j=1}^n g_{ij}x_j +f_i。
        • 矩阵形式为 x(k+1)=Gx(k)+f,G=D−1(D−A),f=D−1b\boldsymbol x^{(k+1)} = G\boldsymbol x^{(k)}+\boldsymbol f, G = D^{-1}(D - A), \boldsymbol f = D^{-1}\boldsymbol b。
    • 收敛条件
      • 假设两种迭代格式均记作为 x(k+1)=Mx(k)+n\boldsymbol x^{(k+1)} = M\boldsymbol x^{(k)}+ \boldsymbol n。
      • 收敛充要条件:ρ(M)<1\rho(M) < 1。
      • 三种充分条件:
        • μ=∥M∥∞<1\mu = \| M \|_\infty < 1,则简单迭代法必定收敛。∥x(k)−α∥∞≤μk1−μ∥x(1)−x(0)∥∞\| \boldsymbol x^{(k)} - \boldsymbol \alpha \|_\infty \le \dfrac{\mu^k}{1-\mu} \| \boldsymbol x^{(1)} - \boldsymbol x^{(0)} \|_\infty。
        • ν=∥M∥1<1\nu = \| M \|_1 < 1,则简单迭代法必定收敛。∥x(k)−α∥1≤νk1−ν∥x(1)−x(0)∥1\| \boldsymbol x^{(k)} - \boldsymbol \alpha \|_1 \le \dfrac{\nu^k}{1-\nu} \| \boldsymbol x^{(1)} - \boldsymbol x^{(0)} \|_1。
        • p=∥M∥F<1p = \| M \|_F < 1,则简单迭代法必定收敛。∥x(k)−α∥2≤pk1−p∥x(1)−x(0)∥2\| \boldsymbol x^{(k)} - \boldsymbol \alpha \|_2 \le \dfrac{p^k}{1-p} \| \boldsymbol x^{(1)} - \boldsymbol x^{(0)} \|_2。
      • 以上充分条件的统一表述:∥M∥<1\| M \| < 1 时,简单迭代法必定收敛。
      • 另外的误差估计公式:∥x(k)−α∥≤∥M∥1−∥M∥∥x(k)−x(k−1)∥\|\boldsymbol x^{(k)} - \boldsymbol \alpha\| \le \dfrac{\|M\|}{1 - \|M\|}\|\boldsymbol x^{(k)} - \boldsymbol x^{(k-1)}\|。
      • 适用于雅可比迭代法的收敛充分条件:
        • 如果矩阵 AA 不可以通过仅交换行和列的合同变换得到形式 [AB0D]\begin{bmatrix} A & B\\ 0 &D\end{bmatrix},则其不可约。
        • 如果矩阵 AA 的对角线元素满足 ∣aii∣≥∑j≠i∣aij∣|a_{ii}| \ge \displaystyle\sum_{j\ne i} |a_{ij}|,则其对角占优。
        • 如果原方程组 Ax=bA\boldsymbol x = \boldsymbol b 中 AA 不可约,则雅可比迭代法收敛。
  • 赛德尔迭代法
    • 迭代公式
      • 赛德尔迭代法的每一次迭代中,xi(k)x_i^{(k)} 迭代公式会使用 x1∼i−1(k)x_{1\sim i-1}^{(k)}。
      • xi(k+1)=∑j=1i−1mijxj(k+1)+∑j=inmijxj(k)+nix_i^{(k+1)} = \displaystyle\sum_{j=1}^{i-1} m_{ij} x_j^{(k+1)} + \sum_{j=i}^{n} m_{ij} x_j^{(k)} + n_{i},适用于两种迭代格式。
      • 矩阵形式:x(k+1)=M1x(k+1)+M2x(k)+n,M=M1+M2\boldsymbol x^{(k+1)} = M_1 \boldsymbol x^{(k+1)} + M_2 \boldsymbol x^{(k)} + \boldsymbol n, M = M_1 + M_2,其中 MM 与简单迭代法中的相同。
    • 收敛条件
      • 赛德尔迭代法相当于迭代矩阵为 (I−M1)−1M2(I-M_1)^{-1}M_2 的简单迭代法,收敛充要条件为 ρ((I−M1)−1M2)<1\rho((I-M_1)^{-1}M_2) < 1。
      • 三种充分条件(即 M=M1+M2M=M_1+M_2):
        • μ=∥M∥∞<1\mu = \| M \|_\infty < 1,则简单迭代法必定收敛。
          • ∥x(k)−α∥∞≤(μ∗)k1−μ∗∥x(1)−x(0)∥∞\| \boldsymbol x^{(k)} - \boldsymbol \alpha \|_\infty \le \dfrac{(\mu^*)^k}{1-\mu^*} \| \boldsymbol x^{(1)} - \boldsymbol x^{(0)} \|_\infty
          • μ∗=max⁡i=1nμi1−ri\mu^* = \displaystyle\max_{i=1}^n \dfrac{\mu_i}{1 - r_i},ri=∑j=1i−1∣mij∣r_i = \displaystyle\sum_{j=1}^{i-1} |m_{ij}|,μi=∑j=in∣mij∣\mu_i = \displaystyle\sum_{j=i}^n |m_{ij}|
        • ν=∥M∥1<1\nu = \| M \|_1 < 1,则简单迭代法必定收敛。
          • ∥x(k)−α∥1≤ρk(1−s)(1−ρ)∥x(1)−x(0)∥1\| \boldsymbol x^{(k)} - \boldsymbol \alpha \|_1 \le \dfrac{\rho^k}{(1-s)(1-\rho)} \| \boldsymbol x^{(1)} - \boldsymbol x^{(0)} \|_1
          • ρ=max⁡j=1ntj1−sj\rho = \displaystyle\max_{j=1}^n \dfrac{t_j}{1 - s_j},s=max⁡j=1nsjs = \displaystyle\max_{j=1}^n s_j,tj=∑i=1j∣mij∣t_j = \displaystyle\sum_{i=1}^{j} |m_{ij}|,sj=∑i=j+1n∣mij∣s_j = \displaystyle\sum_{i=j+1}^n |m_{ij}|
        • p=∥M∥F<1p = \| M \|_F < 1,则简单迭代法必定收敛。
          • ∥x(k)−α∥22≤ρk(1−s)(1−ρ)∥x(1)−x(0)∥22\| \boldsymbol x^{(k)} - \boldsymbol \alpha \|_2^2 \le \dfrac{\rho^k}{(1-s)(1-\rho)} \| \boldsymbol x^{(1)} - \boldsymbol x^{(0)} \|_2^2
          • ρ=max⁡j=1ntj1−sj\rho = \displaystyle\max_{j=1}^n \dfrac{t_j}{1 - s_j},s=max⁡j=1nsjs = \displaystyle\max_{j=1}^n s_j,tj=∑i=1jθit_j = \displaystyle\sum_{i=1}^{j} \theta_i,sj=∑i=j+1nθis_j = \displaystyle\sum_{i=j+1}^n \theta_i,θi=∑j=1nmij2\theta_i = \displaystyle\sum_{j=1}^n m_{ij}^2
      • 若 Ax=bA\boldsymbol x = \boldsymbol b 中 AA 对称正定,则赛德尔迭代法收敛。
      • 若 AA 不可约且对角占优,则赛德尔迭代法收敛。
  • 松弛迭代法
    • 定义
      • 记方程组的残差表示为 Ri(k)=bi−∑j=1naijxi(k)R_i^{(k)} = b_i - \displaystyle\sum_{j=1}^n a_{ij} x_i^{(k)}。
      • 记 ri(k)=Ri(k)aii=biaii−∑j=1naijaiixi(k)r_i^{(k)} = \dfrac{R_i^{(k)}}{a_{ii}} = \dfrac{b_i}{a_{ii}} - \displaystyle\sum_{j=1}^n \dfrac{a_{ij}}{a_{ii}} x_i^{(k)}。
      • 松弛迭代法通过对指定的 xi(k)x_i^{(k)} 增加一定比例的 ri(k)r_i^{(k)} 来迭代。
      • 一般形式为 xi(k+1)=xi(k)+w~ri(k)x_i^{(k+1)} = x_i^{(k)} + \tilde w r_i^{(k)}。
    • 迭代公式
      • 按 ∣ri∣|r_i| 最大值松弛迭代法
        • 第 kk 次迭代得到 x(k),r(k)\boldsymbol x^{(k)},\boldsymbol r^{(k)},选取 l=arg⁡max⁡i=1n∣ri(k)∣l=\displaystyle\arg\max_{i=1}^n |r_i^{(k)}|。
        • 令 xl(k+1)=xl(k)+rl(k)x_l^{(k+1)} = x_l^{(k)}+r_l^{(k)},其他 xi(k+1)=xi(k)x_i^{(k+1)}=x_i^{(k)}。
      • 简单迭代方式的逐次松弛法
        • 第 kk 次迭代得到 x(k),r(k)\boldsymbol x^{(k)},\boldsymbol r^{(k)}。
        • xi(k+1)=xi(k)+w~aii(bi−∑j=1naijxj(k))x_i^{(k+1)} = x_i^{(k)} + \dfrac{\tilde w}{a_{ii}}\left(b_i - \displaystyle\sum_{j=1}^n a_{ij} x_j^{(k)} \right)
      • 赛德尔迭代方式的逐次松弛法
        • 第 kk 次迭代得到 x(k),r(k)\boldsymbol x^{(k)},\boldsymbol r^{(k)}。
        • xi(k+1)=xi(k)+w~aii(bi−∑j=1i−1aijxj(k+1)−∑j=inaijxj(k))x_i^{(k+1)} = x_i^{(k)} + \dfrac{\tilde w}{a_{ii}}\left(b_i - \displaystyle\sum_{j=1}^{i-1} a_{ij} x_j^{(k+1)} - \displaystyle\sum_{j=i}^n a_{ij} x_j^{(k)}\right)
    • 收敛条件
      • 松弛迭代法收敛的必要条件为 0<w~<20 < \tilde w < 2。
      • 若 Ax=bA\boldsymbol x = \boldsymbol b 中 AA 对称正定,且 0<w~<20 < \tilde w < 2,则松弛迭代法收敛。
      • 若 AA 不可约且对角占优,且 0<w~≤10<\tilde w \le 1,则松弛迭代法收敛。