第七章 线性代数方程组的迭代解法
- 格式:pdf
- 大小:282.63 KB
- 文档页数:49
线性方程组的迭代式求解方法迭代法解方程的基本原理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)}\rig ht]^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),\quadi=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} \VertB_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 。
解线性方程组的迭代法Haha送给需要的学弟学妹摘要:因为理论的分析表明,求解病态的线性方程组是困难的,但是实际情况是否如此,需要我们来具体检验。
系数矩阵H 为Hilbert 矩阵,是著名的病态问题。
因而决定求解Hx b =此线性方程组来验证上述问题。
详细过程是通过用Gauss 消去法、J 迭代法、GS 迭代法和SOR 迭代法四种方法求解Hx b =线性方程组。
关键词:病态方程组、Gauss 消去法、J 迭代法、GS 迭代法、SOR 迭代法目录:一、问题背景介绍二、建立正确额数学模型 三、求解模型的数学原理1、Gauss 消去法求解原理2、Jacobi 迭代法求解原理3、G-S 迭代法求解原理4、SOR 迭代法求解原理5、Jacobi 和G-S 两种迭代法收敛的充要条件 四、计算过程(一)Hilbert 矩阵维数n=6时1、Gauss 消去法求解2、Jacobi 迭代法求解3、G-S 迭代法求解4、SOR 迭代法求解(二)Hilbert 矩阵维数n=20、50和100时1、G-S 迭代法求解图形2、SOR 迭代法求解图形 五、编写计算程序 六、解释计算结果1、Gauss 消去法误差分析2、G-S 迭代法误差分析3、SOR 迭代法误差分析G-S 迭代法与SOR 迭代法的误差比较 七、心得体会正文:一、问题背景介绍。
理论的分析表明,求解病态的线性方程组是困难的。
实际情况是否如此,会出现怎样的现象呢?二、建立正确的数学模型。
考虑方程组Hx b =的求解,其中系数矩阵H 为Hilbert 矩阵,,,1(), , ,1,2,,1i j n n i j H h h i j n i j ⨯===+-这是一个著名的病态问题。
通过首先给定解(为方便计算,笔者取x 的各个分量等于1),再计算出右端,b Hx =这样Hx b =的解就明确了,再用Gauss 消去法、J 迭代法、GS 迭代法和SOR 迭代法四种方法分别求解,Hx b =将求解结果与给定解比较,而后求出上述四种方法的误差,得出哪种方法比较好。
第六章解线性方程组的迭代法例1.求线性方程组12312312383220,41133,631236.x x x x x x x x x -+=⎧⎪+-=⎨⎪++=⎩ 得近似解。
精确解为x *=[3,2,1]’。
解:对方程进行移项就得12312312383220,41133,631236.x x x x x x x x x -+=⎧⎪+-=⎨⎪++=⎩1232133121(3220),81(433),111(6336).12x x x x x x x x x ⎧=-+⎪⎪⎪⇒=-++⎨⎪⎪=--+⎪⎩记为Ax=b ,或写为x=B 0x+f,其中⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡----=12361133820,01231261110114828300f B取初始值T x )0,0,0()0(=,代入原方程组可得.)3,3,5.2(),,()1(3)1(2)1(1)1(T T x x x x ==再将把它代入可得)2(x .反复利用这个计算过程,得到一向量序列和一般的计算公式(迭代公式)(0)(1)()111(0)(0)(1)(1)()()222(0)(1)()333,,,,k k k k x x x x x x x x x x x x ⎛⎫⎛⎫⎛⎫⎪ ⎪ ⎪=== ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭(1)()()123(1)()()213(1)()()312(3220)/8,(433)/11,(6336)/12.k k k k k k k k k x x x x x x x x x +++⎧=-+⎪=-++⎨⎪=--+⎩简写为).,2,1,0,)(0)1( =+=+k k f x B x k k 表示迭代次数(迭代到第10次有(10)(3.000032,1.999838,0.9998813);Tx=(10)(10)(10)0.000187 ().xx εε*∞==-从此例看出,由迭代法产生的向量序列x (k)逐步逼近方程组的精确解x *.6.1常用迭代法定义1 (ⅰ)对于给定的方程组x=Bx+f ,用公式,)()1(f Bx x k k +=+逐步代入求近似解的方法称为迭代法(或称为一阶定常迭代法,这里B与k 无关).(ⅱ)如果)(lim k k x ∞→ 存在(记为x *),称此迭代法收敛,显然x *就是方程组的解,否则称此迭代法发散.迭代法的流程图为:①0x 为初始向量,()()()000012,,,;n x x x x '⎡⎤=⎣⎦②ε是判断条件, 即10x x ε-<时停止运行 ③k 是循环次数。