线性方程组的迭代式求解方法

  • 格式:docx
  • 大小:9.96 KB
  • 文档页数:5

线性方程组的迭代式求解方法

迭代法解方程的基本原理

1.概述

把 Ax=b 改写成 x=Bx+f ,如果这一迭代格式收敛,对这个式子不断迭代计算就可以得到方程组的解。

道理很简单:对 x^{(k+1)}=bx^{(k)}+f 两边取极限,显然如果收敛,则最终得到的解满足 \lim_{k\rightarrow\infty }

x^{(k)}=x^*=Bx^*+f ,从而必然满足原方程 Ax^*=b 。

迭代方法的本质在于这一次的输出可以当作下一次的输入,从而能够实现循环往复的求解,方法收敛时,计算次数越多越接近真实值。

2.收敛条件

充要条件:迭代格式 x=Bx+f 收敛的充要条件是 \rho (B)<1

充分条件: \Vert B\Vert <1

即 \Vert B\Vert <1 \Rightarrow \rho

(B)<1\Leftrightarrow 迭代收敛

一、Jacobi迭代法

怎样改写Ax=b ,从而进行迭代求解呢?一种最简单的迭代方法就是把第i行的 x_i 分离出来(假定 a_{ii} \ne 0 ):

\sum_{j=1}^{n}a_{ij}x_j=b_i\Rightarrow x_i=\frac{b_i-\sum_{j=1,j\ne i}^{n}a_{ij}x_j}{a_{ii}}\quad \\

这就是Jacobi(雅可比)迭代法。 迭代格式

给定

x^{(0)}=\left[x_1^{(0)},x_2^{(0)},\cdots,x_n^{(0)}\right]^T ,则Jacobi法的迭代格式(也称分量形式)为

x_i^{(k+1)}=\frac{1}{a_{ii}}\left ( {b_i-\sum_{j=1,j\ne i}^{n}a_{ij}x_j^{(k)}}\right),\quad

i=1,2,\cdots,n\\

矩阵形式

设 A=D-L-U。

Jacobi法的矩阵形式(也称向量形式)为

x^{(k+1)}=B_Jx^{(k)}+D^{-1}b\\

其中迭代矩阵 B_J=D^{-1}(L+U)

收敛条件

\begin{eqnarray} \left. \begin{array}{lll} \Vert

B_J\Vert <1 \\ A 严格对角占优\\ A, 2D-A对称正定

\end{array} \right \} \end{eqnarray} \Rightarrow \rho

(B_J)<1\Leftrightarrow 迭代收敛

特别地,若 A 对称正定且为三对角,则 \rho^2(B_J)=\rho

(B_G)<1 。

误差

先验误差: \Vert x^*-x^{(k)} \Vert \le \frac{\Vert

B_J\Vert ^k}{1-\Vert B_J\Vert}\Vert x^{(1)}-x^{(0)}\Vert 后验误差: \Vert x^*-x^{(k)} \Vert \le \frac{\Vert

B_J\Vert }{1-\Vert B_J\Vert}\Vert x^{(k)}-x^{(k-1)}\Vert

收敛速度

平均收敛速度: R_k(B_J)=-\ln\Vert {B_J}^k \Vert

^{\frac 1k}

渐进收敛速度: R(B_J)=-\ln\rho (B_J)

一般采用渐进收敛速度来近似地衡量迭代的快慢。

二、Gauss-Seidel迭代法

如何改进 Jacobi 迭代法呢?一种自然的想法是把 j

j>i 的部分分开(假定 a_{ii} \ne 0 ):

\sum_{j=1}^{n}a_{ij}x_j=b_i\Rightarrow x_i=\frac{b_i-\sum_{j=1}^{i-1}a_{ij}x_j-\sum_{j=i+1}^{n}a_{ij}x_j}{a_{ii}}\quad \\

由于在计算 x_i^{(k+1)} 时, x_j^{(k+1)}(j\le i-1) 已经算出来了,所以可以把这些新鲜出炉的量拿来代替老旧的迭代变量。这就是 Gauss-Seidel (高斯-塞德尔) 迭代法。

迭代格式

给定

x^{(0)}=\left[x_1^{(0)},x_2^{(0)},\cdots,x_n^{(0)}\right]^T ,则Gauss-Seidel法的迭代格式(也称分量形式)为

x_i^{(k+1)}=\frac{1}{a_{ii}}\left ( {b_i-\sum_{j=1}^{i-1}a_{ij}x_j^{(k+1)}}-\sum_{j=i+1}^{n}a_{ij}x_j^{(k)}\right),\quad

i=1,2,\cdots,n\\

矩阵形式

设 A=D-L-U。

Gauss-Seidel法的矩阵形式(也称向量形式)为

x^{(k+1)}=B_Gx^{(k)}+(D-L)^{-1}b\\

其中迭代矩阵 B_G=(D-L)^{-1}U

收敛条件

\begin{eqnarray} \left. \begin{array}{lll} \Vert

B_G\Vert <1 \\ A 严格对角占优\\ A对称正定 \end{array}

\right \} \end{eqnarray} \Rightarrow \rho

(B_G)<1\Leftrightarrow 迭代收敛

特别地,若 A 对称正定且为三对角,则 \rho^2(B_J)=\rho

(B_G)<1 。

误差

先验误差: \Vert x^*-x^{(k)} \Vert \le \frac{\Vert

B_G\Vert ^k}{1-\Vert B_G\Vert}\Vert x^{(1)}-x^{(0)}\Vert

后验误差: \Vert x^*-x^{(k)} \Vert \le \frac{\Vert

B_G\Vert }{1-\Vert B_G\Vert}\Vert x^{(k)}-x^{(k-1)}\Vert

收敛速度 平均收敛速度: R_k(B_G)=-\ln\Vert {B_G}^k \Vert

^{\frac 1k}

渐进收敛速度: R(B_G)=-\ln\rho (B_G)