LOADING . . .

线性方程组迭代法

  迭代法是通过迭代的方式,一步一步逼近线性方程组解。它不一定能获得精确解,但在迭代多次以后,精度可以无限接近解的真实值。所以当矩阵的维度很高时,在程序中可用这种方法来求解线性方程组。它的基本形式如下:

$x^{(k+1)} = Bx^{(k)} + f$

  首先设置一个随机初始值$x^{(0)}$,然后每次通过以上迭代式计算下一次的$x^{(k+1)}$,通常使用前后两次的迭代结果之差来判断迭代解是否达到要求。

  对于方程组$Ax = b$(要求$A$非奇异即可逆,否则迭代法不收敛),迭代法有以下几种:

基本迭代法

  基本迭代法就是最简单的定义,用于理解。先将$A$分解为$M - N$,其中$M$可逆,得:

$(M - N)x = b$

$Mx = Nx + b$

$x = M^{-1}Nx + M^{-1}b$

  分离出这个等式后,直接把左边的$x$作为迭代式的下一步。得到迭代式如下:

$x^{(k+1)} = M^{-1}Nx^{(k)} + M^{-1}b$

雅可比迭代法

  雅可比迭代法把$A$分解为$D、L、U$三个矩阵,分别是$A$的主对角线、下三角矩阵和上三角矩阵,因为要求$D$的逆,所以要求$A$主对角线元素都非0:

$(D - L - U)x = b$

$Dx = (L + U)x + b$

  得到迭代式:

$x^{(k+1)} = D^{-1}(L + U)x^{(k)} + D^{-1}b$

高斯-赛德尔迭代法

  高斯-赛德尔迭代法是基于雅可比迭代法的改进。它实际上就是当雅可比计算好$x^{(k+1)}$向量的每个元素后,把计算结果再存回$x^{(k)}$对应的元素上。因此,$k^{(k+1)}_i$是由$[k_{1}^{(k+1)},k_{2}^{(k+1)},...,k_{i-1}^{(k+1)},k_{i}^{(k)},...,k_{n}^{(k)}]^T$算得的。修改雅可比迭代得到高斯-赛德尔迭代: 

$x^{(k+1)} = D^{-1}Lx^{(k+1)} + D^{-1}Ux^{(k)} + D^{-1}b$

$Dx^{(k+1)} = Lx^{(k+1)} + Ux^{(k)} + b$

$x^{(k+1)} = (D-L)^{-1}Ux^{(k)} + (D-L)^{-1}b$

SOR迭代法(逐次超松弛迭代)

  基于高斯-赛德尔迭代,它又加一个系数来控制迭代速度。由高斯-赛德尔迭代式:

$Dx^{(k+1)} = Lx^{(k+1)} + Ux^{(k)} + b$
$Dx^{(k+1)} = Lx^{(k+1)} + Ux^{(k)} + b + Dx^{(k)} - Dx^{(k)}$

  将$Dx^{(k)}$拎出来,后面看做每次迭代的变化,加上系数$\omega$

$Dx^{(k+1)} = Dx^{(k)} + \omega(Lx^{(k+1)} + Ux^{(k)} + b  - Dx^{(k)})$

  变化一下得到迭代式:

$x^{(k+1)} = (D-\omega L)^{-1}[(1-\omega)D+\omega U]x^{(k)}+\omega(D-\omega L)^{-1}b$ 

  当$\omega$为1时,超松弛就是高斯-赛德尔,大于1时为超松弛,即迭代的步伐更快,小于1时为低松弛,迭代的步伐更小。显然越迭代到后期,$\omega$的值越要小。不然会出现震荡。

迭代法收敛条件

  对于线性方程$Ax = b$,分裂为迭代的形式:$x^{(k+1)} = Bx^{(k)}+f$。

  如果迭代法能最终收敛到$x^{(*)}=Bx^{(*)}+f$,就有:

$ \varepsilon^{(k)} := x^{(k)} - x^{(*)}, \lim\limits_{k \to +\infty}\varepsilon^{(k)} = 0$

  因为有:

$\begin{aligned}\varepsilon^{(k)} &= Bx^{(k-1)}+f-Bx^{(*)}-f \\&=B(x^{(k-1)}-x^{(*)})\\&=B\varepsilon^{(k-1)}\\&=B^2\varepsilon^{(k-2)}\\&=B^k\varepsilon^{(0)}=B^k(x^{(0)}-x^{(*)})\end{aligned}$

  所以,若:

$\lim\limits_{k \to +\infty}B^k = 0$

  有迭代收敛。因此,简化一下,当$B$的谱半径小于1时,有迭代法收敛。谱半径就是矩阵绝对值最大的特征向量的绝对值。

  实际上,一般只要$A$可逆,迭代就能收敛。

posted @ 2020-02-06 19:33  颀周  阅读(1701)  评论(0编辑  收藏  举报
很高兴能帮到你~
点赞