第三章 线性方程组的迭代解法
第三章 线性方程组的迭代解法
其中
v x (0) = ( x1(0) , x2 (0) ,…, xn (0) )
是迭代初值。 是迭代初值。
写成矩阵形式: 写成矩阵形式: 矩阵形式
A=
D
U
v v Ax = b ⇔ ⇔ ⇔
v v (D + L + U )x = b v v v Dx = −( L + U ) x + b v v v −1 −1 x = −D (L + U )x + D b
( ( a 111 ) a 121 ) ... a 1( 1 ) n
A
( ( ( a ij2 ) = a ij1 ) − m i 1 a 1 1j ) (2) b i = b i( 1 ) − m i 1 b1( 1 ) ( i , j = 2 , ..., n )
− 共进行 n ?1 步
(1 ( ( a12) ... a11) x1 b11) n b( 2) ( 2) ( 2) a22 ... a2n x2 2 . . = . ... . . . . . . ( n) (n ann) xn bn
… … …
…
( ( ( ( ( xnk +1) = 1 (−an1 x1k +1) − an 2 x2k +1) − an3 x3k +1) − L − ann−1 xnk +1) + bn ) −1 ann v v ( k +1) v ( k +1) v (k ) −1 −1 写成矩阵形式 矩阵形式: 写成矩阵形式: x = − D ( Lx + Ux ) + D b v (k +1) v (k ) v ⇔ (D + L)x = −U x + b v v ( k +1 ) −1 v ( k ) −1 ⇔ x = − ( D + L ) Ux + ( D + L ) b v Gauss-Seidel B vf v ( k + 1) v(k ) 迭代阵
第三章 迭代法s4 解线性方程组的迭代法
得 x(1) = ( 0.5000, 2.8333, -1.0833 )T
x(9) = ( 2.0000, 3.0000, -1.0000 )T
举例(续)
SOR 迭代格式
( x1( k 1) (1 ) x1( k ) 1 x2k ) 2 ( k 1) (k ) ( k 1) (k ) x2 (1 ) x2 8 x1 x3 3 ( k 1) ( ( x3 (1 ) x3k ) 5 x2k 1) 2
( k ( k 在计算 xi( k 1) 时,如果用 x1 k1) ,, xi(11) 代替 x1 k ) ,, xi(1) ,则 可能会得到更好的收敛效果。此时的迭代公式为
x1( k 1) ( x2k 1) ( k 1) xn
( ( ( b1 a12 x2k ) a13 x3k ) a1n xnk ) a11 ( ( b2 a21 x1( k 1) a23 x3k ) a2 n xnk ) a22
解得
x
x ( k 1) (1 ) x ( k ) D 1 b Lx ( k 1) Ux ( k )
( k 1)
D L
1
1
(1 ) D U x
(k )
D L b
1
GS D L
Jacobi 迭代 x( k 1) D1 ( L U ) x( k ) D1b
M = D, N = M – A = -(L + U)
GS 迭代
x
( k 1)
L D Ux
1
(k )
数值分析第三章线性方程组解法
数值分析第三章线性方程组解法在数值分析中,线性方程组解法是一个重要的主题。
线性方程组是由一组线性方程组成的方程组,其中未知数的次数只为一次。
线性方程组的解法包括直接解法和迭代解法两种方法。
一、直接解法1.1矩阵消元法矩阵消元法是求解线性方程组的一种常用方法。
这种方法将方程组转化为上三角矩阵,然后通过回代求解得到方程组的解。
1.2LU分解法LU分解法是将系数矩阵A分解为一个下三角矩阵L和一个上三角矩阵U的乘积,然后通过解两个三角方程组求解线性方程组。
这种方法可以减少计算量,提高计算效率。
1.3 Cholesky分解法Cholesky分解法是对称正定矩阵进行分解的一种方法。
它将系数矩阵A分解为一个下三角矩阵L和它的转置的乘积,然后通过解两个三角方程组求解线性方程组。
Cholesky分解法适用于对称正定矩阵的求解,具有较高的精度和稳定性。
二、迭代解法2.1 Jacobi迭代法Jacobi迭代法是一种迭代求解线性方程组的方法。
它通过分解系数矩阵A为一个对角矩阵D和一个余项矩阵R,然后通过迭代更新未知数的值,直至达到一定精度要求为止。
Jacobi迭代法简单易懂,容易实现,但收敛速度较慢。
2.2 Gauss-Seidel迭代法Gauss-Seidel迭代法是一种改进的Jacobi迭代法。
它通过使用新计算出的未知数值代替旧的未知数值,达到加快收敛速度的目的。
Gauss-Seidel迭代法是一种逐步逼近法,每次更新的未知数值都会被用于下一次的计算,因此收敛速度较快。
2.3SOR迭代法SOR迭代法是一种相对于Jacobi和Gauss-Seidel迭代法更加快速的方法。
它引入了一个松弛因子,可以根据迭代的结果动态地调整未知数的值。
SOR迭代法在理论上可以收敛到线性方程组的解,而且收敛速度相对较快。
三、总结线性方程组解法是数值分析中的一个重要内容。
直接解法包括矩阵消元法、LU分解法和Cholesky分解法,可以得到线性方程组的精确解。
计算方法3_线性方程组迭代解法
计算方法3_线性方程组迭代解法线性方程组的迭代解法是解决线性方程组的一种常见方法,常用于大规模的线性方程组求解。
该方法通过不断迭代更新解的近似值,直到满足一定的收敛准则为止。
线性方程组的迭代解法有很多种,其中最经典的是雅可比迭代法、高斯-赛德尔迭代法和超松弛迭代法。
本文将分别介绍这三种迭代解法及其计算方法。
雅可比迭代法是一种比较简单的线性方程组迭代解法,它的基本思想是先将线性方程组转化为对角占优的形式,然后通过迭代求解逐渐接近精确解。
雅可比迭代法的迭代公式为:其中,x^(k+1)是第k+1次迭代的近似解,n是未知数的个数,a_ij 是系数矩阵A的元素,f_i是方程组的右端向量的元素。
雅可比迭代法的计算步骤如下:1.将线性方程组转化为对角占优的形式,即保证矩阵A的对角元素绝对值大于其它元素的绝对值。
2.初始化向量x^(0),设定迭代终止准则。
3.根据雅可比迭代公式,计算x^(k+1)。
4.判断迭代终止准则是否满足,如果满足,则停止迭代,返回近似解x^(k+1);否则,继续进行下一次迭代。
高斯-赛德尔迭代法是雅可比迭代法的改进方法,它的基本思想是在每次迭代计算x^(k+1)时,利用已经计算出的近似解作为x的一部分。
高斯-赛德尔迭代法的迭代公式为:其中,x^(k+1)_i是第k+1次迭代的近似解中第i个未知数的值,x^(k)_i是第k次迭代的近似解中第i个未知数的值。
高斯-赛德尔迭代法的计算步骤如下:1.将线性方程组转化为对角占优的形式。
2.初始化向量x^(0),设定迭代终止准则。
3.根据高斯-赛德尔迭代公式,计算x^(k+1)。
4.判断迭代终止准则是否满足,如果满足,则停止迭代,返回近似解x^(k+1);否则,继续进行下一次迭代。
超松弛迭代法是对高斯-赛德尔迭代法的一种改进方法,它引入了松弛因子ω,通过调整参数ω的值,可以加快迭代的收敛速度。
超松弛迭代法的迭代公式为:其中,0<ω<2,x^(k+1)_i是第k+1次迭代的近似解中第i个未知数的值,x^(k)_i是第k次迭代的近似解中第i个未知数的值。
线性方程组的迭代式求解方法
线性方程组的迭代式求解方法迭代法解方程的基本原理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 。
线性方程组迭代解法
§3.2(I) Jacobi 迭代法 (Jacobi iterative method)
数学问题的描述
Jacobi迭代法的主要步
骤
1. The mathematical form 2. The process of Jacobi iterative method
数学问题的描述
Ax=b x= M-1 Nx + M-1 b
B= M-1 N, f= M-1 b
注:选取M阵,就得到解 Ax=b 的各种迭代 法 Re.mark: We can obtain various iterative schemes
by choosing different M.
本章重点介绍三个迭代法,即:
0满足(k什么条∞)件时有
Bk+1 0
The convergence of {x(k) } Bk+1 0
The condition ?
基本迭代法 the based iterative technique
设有 Ax b, 其中AA为非(a奇ij )异矩Rn阵n . 将A分裂为 A M N ,
The process of iterative method
解线性方程组迭代法的主要步骤是:
1. 把所给的线性方程组Ax=b 化成如下形式的同解
方程组
Converting Ax=b into an equivalent form
x=Bx+f
(3-1)
2. 给出初始向量
X 0
x(0) 1
,
x20
Direct techniques are used for solving linear systems of small
分析04-线性方程组迭代解法
x (1) Bx ( 0 ) g (7.2, 8.3, 8.4 ) T 0 0.1 0.2 7.2 7.2 9.71 ( 2) (1) x Bx g 0.1 0 0.2 8.3 8.3 10.70 0.2 0.2 0 8.4 8.4 11.50 继续迭代下去,迭代结果见表3-1:
k
则称序列 A( k ) 收敛于矩阵A, 记为 lim A( k ) A
k
与向量序列类似,也有:
定理2
设A
(k )
则矩阵序列A 均为n阶方阵, 且矩阵序列A 收敛于A lim a
(k ) (k ) k
(k ) ( aij )(k
1,2, , ), A (aij )均为n阶方阵
( k 1) 1 ( k ) ( x1 ( x2 2 x3k ) 72 ) 10 ( k 1) 1 ( k ) ( x2 ( x1 2 x3k ) 83) 10 ( k 1) 1 ( k ) ( x3 ( x1 x2k ) 42 ) 5
I I D (L U ) D (L U ) 式(3-5)为简单迭代法的矩阵形式。
1
1
10 x1 x 2 2 x3 72 Jacobi迭代法举例 x 10 x 2 x 83 1 2 3 例1 用Jacobi迭代法求解线性方程组: x1 x 2 5 x3 42 解:由第一个方程解x1,第二个方程解x2,第三 个方程解x3得Joacbi迭代格式为: 其矩阵形式为:
7 8 9
10.9944 10.9981 10.9994
11.9981 11.9941 11.9994
线性方程组迭代解法
输入最大迭代次数N, k=1;误差ε ② 迭代
计算X ( E D A) X
(1)
1
(0)
D b
1
(1) (1) (1) (1) ③ 控制 如果||X(1)-X(0)||<ε,则输出X ( x1 , x2 xn )
否则 如果k<N ,k=k+1,置X(1) =X(0)转②继续; 如果k>=N ,算法失败。
ji
可写成形如
x
( k 1) i
(bi a x
j 1 (k ) ij j
i 1
j i 1
a x
n
(k ) ij j
) / aii
(i 1,2,, n) (3-9)
在Jacobi 迭代中,是用X(k)的全部分量来计算 X(k+1)的全部分量的。 我们应该注意到,在计算新分量xi(k+1)时,分量 x1(k+1), x2(k+1), … , xi-1(k+1)都已经算出。
由于Gauss-Seidel迭代法逐次用计算出来的新值 代替旧值,所以在收敛的条件下,它要比Jacobi迭 代法收敛速度快。
返回节
Gauss-seidel迭代法的主要步骤
分量计算步骤为:
① 准备
X (0) ( x1(0) , x2(0) xn(0) ) 输入A,b,迭代初值
输入最大迭代次数N, k=1;误差ε
按系数矩阵中 零元素的个数: 按未知量 的个数: 按系数矩 阵的形状
稠密线性 方程组
稀疏线性 方程组 低阶线性 方程组
对角占 优方程组
高阶线性 (如1000) 方程组
对称正定 方程组 三角形 方程组
第三章 线性方程组的迭代解法
定理3.2 若 ||B|| =q<1,则由迭代格式x(k+1)=Bx(k)+f 和任意初始 向量x(0)产生的迭代序列x(k)收敛于准确解x*. 本定理是迭代法收敛的充分条件,它只能判别收敛的情况,当 ||B|| ≥1时,不能断定迭代不收敛.但由于||B||,特别是||B|| 1和||B|| ∞ 的计算比较容易,也不失为一种判别收敛的方法。 同时当||B|| <1时可以用来估计迭代的次数,或用来设置退出 计算的条件. 这时有定理3.3和定理3.4 定理3.3 若||B|| =q<1,则迭代格式x(k+1) =Bx(k)+f产生的向量序 k 列 {x(k)}中 q (k ) * (0) (1 )
3.2 几种常用的迭代法公式 3.2.1 Jacobi迭代法
先看一个算例:
10 x 1 2 x 2 x 3 3 例1 2 x 10 x x 15 1 2 3 x 2 x 5 x 10 1 2 3
从以上三个方程中分别解出x1, x2, x3
|| x x || 1 q || x x || ( 3 . 17 )
利用此定理可以在只计算出x(1)时,就估计迭代次数k,但估 计偏保守,次数偏大. 称为事前误差估计. 13 结束
x2
x3
0
0
可见它对这一方程组比Jacobi迭代法收敛快一些。
Gauss-Seidel迭代法的公式如下:
xi
( k 1)
bi a ii
1 i 1 a ij x (j k 1 ) a ii j 1
n
a ij x j
(k )
j i 1
i 1, 2 , n k 0 ,1, 2 ,
3线性方程组的迭代解法
三、逐次超松弛法(SOR方法)
逐次超松弛法(Successive Over Relaxation Method)可 看成是Gauss-Seidel方法的加速,Seidel迭代法是SOR方法的 特例。将Seidel方法的迭代公式
改写为
x(k1) i
1 aii
(bi
i 1
a x(k 1) ij j
k
0
1
2
3
4
5
6
x1
0
2.5000 2.9773 3.0098 2.9998 2.9999 3.0000
x2
0
2.0909 2.0289 1.9968 1.9997 2.0001 2.0000
x3
0
1.2273 1.0041 0.9959 1.0002 1.0001 1.0000
可见Gauss-Seidel迭代法比Jacobi迭代法收敛要快一些。
x(k 1) BJ x(k ) f J
0
其中
a21
a22
BJ D1(L U )
an1 ann
a12 a11 0
an2 ann
a13 a11
a23 a22
7
a1n1 a11
a2n1 a22
ann1 ann
a1n
a11
a2 n
a22 , fJ D1b
0
二、 Gauss-Seidel 迭代法
x(k ) i
xi(k )
x(k ) i
1 aii
bi
i 1
a x(k 1) ij j
j 1
n
aij
x(jk
)
j i
为加快收敛,在增量 xi(k ) 前加一个因子
解线性方程组的迭代法
解线性方程组的迭代法设线性方程组为Ax b =其中,A 为n 阶非奇异矩阵,n x R ∈,n b R ∈,0b ≠。
当A 为低阶稠密矩阵,直接法是比较好的方法。
当A 为高阶稀疏矩阵,例如偏微分方程数值解所产生的方阵,这时采用迭代法比较合适了。
不过,这里所谓低阶与高阶并没有明显的分界,在高性能计算机面前,一万阶也不算高。
所谓稀疏矩阵,笼统地说,就是零元素占绝大多数的矩阵,反之就是稠密矩阵了。
1.迭代法的一般理论将Ax b =等价地改写为方程组x Gx f =+其实,就是将原方程组等价变形为不动点方程的格式,以便于进行不动点迭代。
任取初始向量(0)x ,作 (1)(0)x Gx f =+, (2)(1)x Gx f =+, ……(1)()k k x Gx f +=+,0,1,2,k =⋅⋅⋅G 称为迭代矩阵。
如果向量序列{}()k x 是收敛的,假设()*lim k k x x →∞=,或者()*lim 0k k x x →∞−=,则**x Gx f =+也就是说*x 是x Gx f =+的解,即Ax b =的解,而它与初始向量(0)x 的选取无关。
如何保证该向量序列收敛呢? 设误差()()*k k x x ε=−,则(1)(1)*()*()*()()()k k k k k x x Gx f Gx f G x x G εε++=−=+−+=−=,0,1,2,k =⋅⋅⋅因此,()(1)2(2)3(3)(0)k k k k k G G G G εεεεε−−−====⋅⋅⋅=,0,1,2,k =⋅⋅⋅为了保证对任意初始向量(0)x ,{}()k ε收敛,必须且只须{}k G 收敛。
那么,如何保证{}k G 收敛,{}k G 若收敛,会收敛到哪里?这就需要如下一个引理。
引理1.设n n B C ×∈,则{}k B 收敛当且仅当()1B ρ<。
如果()1B ρ<,则lim 0k k B →∞=。
数值计算方法第三章 线性方程组迭代法
0,1,2,
取x1(0) 0, x2(0) 0,计算结果如下:
k0
x (k) 1
0
x (k) 2
0
1
2
3
4
0.66667 0.50000 0.61111 0.58333
0.50000 0.16667 0.25000 0.19445
5
6
7
8
9
0.60185 0.59722 0.60031 0.59954 0.6005
从而得迭代式 x(k1) (D L)1Ux (k) (D L)1 b, (k 0,1,2, )
上式中矩阵 M (D L)1U 为Gauss-Seidel迭代矩阵。
输入:A,b, n,
置初值: k 0; xi 0(i 1,L , n)
k k 1;e 0
3xx1 12xx22
2 1
精确到3位有效数字。
解 Gauss Siedel迭代格式为
x (k 1) 1
x (k 1) 2
(2 x2(k) ) / 3 (1 x1(k1) ) / 2
,
k
0,1,
2,L
取x1(0)
0,
x (0) 2
0, 计算结果如下:
0
101
0
1
10
2
1 0 0 101 1 1 5
0 0.1 0.2 0.1 0 0.2
0.2 0.2 0
取初值x (0) (0,0,0)T 代入迭代式
x(1) Bx (0) g (7.2,8.3,8.4)T x(2) Bx(1) g (9.17,10.70,11.50)T ,如此下去, x(9) Bx (1) g (10.9994 ,11.9994 ,12.9992 )T
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9
结束
3.3
迭代法的一般形式的收敛条件
x( k 1) Bx( k ) f
3.3.1 一般迭代过程
x( k 1) Bs x( k ) f s
其中
Bs (D L)1U , f s (D L)1b
6
结束
3.2.3 SOR迭代法
SOR迭代法也称为逐次超松弛法,它可看成Gauss-Seidel迭代法 的加速, Gauss-Seidel迭代法是SOR迭代法的特例. 将Gauss-Seidel迭代法的(3.9)式 n bi 1 i 1 ( k 1) ( k 1) (k ) xi aij x j aij x j 改写为 aii aii j 1 j i 1 i 1 n 1 ( k 1) (k ) ( k 1) (k ) bi aij x j xi xi aij x j aii j 1 j i 记 则
x2
x3
0
0
可见它对这一方程组比Jacobi迭代法收敛快一些。
Gauss-Seidel迭代法的公式如下: i 1 n i 1,2, n b 1 ( k 1) ( k 1) (k ) i xi aij x j aij x j k 0,1,2, (3.9) aii aii j 1 j i 1 Gauss-Seidel迭代法的矩阵迭代形式: (推导)
(k ) (k ) x1( k 1) 0.2 x 2 0.1x3 0.3 ( k 1) ( k 1) (k ) 0.1x3 1.5 x 2 0.2 x1 x ( k 1) 0.2 x ( k 1) 0.4 x ( k 1) 2 1 2 3
ri
(k )
x
( k 1) i
x
(k ) i
1 aii
i 1 n ( k 1) (k ) aij x j bi aij x j j 1 j i i 1 n ( k 1) (k ) aij x j bi aij x j j 1 j i
从(3.13)式不难推出SOR法的矩阵迭代形式:
x( k 1) B x( k ) f
其中
B (D L)1[(1 )D U ],
f (D L)1b
今后可以看到,必须取0<ω<2,当ω=1时,就是Gauss-Seidel迭代法 .当ω取得适当时,对Gauss-Seidel迭代法有加速效果. 8 结束
这种迭代形式称为Jacobi迭代法(雅可比迭代法),也称简单迭 代法. Jacobi迭代法的矩阵迭代形式: (推导)
x( k 1) BJ x( k ) f J
其中
BJ D1 ( L U ),
f J D1b
4
结束
3.2.2 Gauss-Seidel 迭代法
( k 1) x 在Jacobi迭代法的迭代形式(3.6)中,可以看出,在计算 2
的收敛条件.
定理3.1 对任意初始向量x(0)和 f, 由上式产生的迭代序列x(k)收 敛的充要条件是ρ(B) < 1. 证: 1)必要性: x(k)收敛于 x*, 有x*=Bx*+f 成立, 记 k= x(k)- x* 有 k+1= x(k+1)- x* = Bx(k)+ f - Bx* - f = B(x(k) - x*)= Bk 有 k+1= Bk= B2k-1=…= Bk+10, 这里0= x(0)- x*,
(k ) i
aij x
j i
(3.12 ) (3.13)
改写为
x
( k 1) i
i 1 n ( k 1) (k ) (1 )x bi aij x j aij x j aii j 1 j i 1
称此公式为SOR法 (逐次超松弛法).
3.2 几种常用的迭代法公式 3.2.1 Jacobi迭代法
10 x1 2 x 2 x 3 3 例1 2 x1 10 x 2 x 3 15 x 2 x 5 x 10 1 2 3
从以上三个方程中分别解出x1, x2, x3
x1 0.2 x2 0.1x3 0.3 0.1x3 1.5 x2 0.2 x1 x 0.2 x 0.4 x 2 1 2 3
定理3.2 若 ||B|| =q<1,则由迭代格式x(k+1)=Bx(k)+f 和任意初始 向量x(0)产生的迭代序列x(k)收敛于准确解x*. 本定理是迭代法收敛的充分条件,它只能判别收敛的情况,当 ||B|| ≥1时,不能断定迭代不收敛.但由于||B||,特别是||B|| 1和||B|| ∞ 的计算比较容易,也不失为一种判别收敛的方法。 同时当||B|| <1时可以用来估计迭代的次数,或用来设置退出 计算的条件. 这时有定理3.3和定理3.4 定理3.3 若||B|| =q<1,则迭代格式x(k+1) =Bx(k)+f产生的向量序 k 列 {x(k)}中 q || x ( k ) x * || || x ( 0) x (1) || (3.17) 1 q 利用此定理可以在只计算出x(1)时,就估计迭代次数k,但估 计偏保守,次数偏大. 称为事前误差估计. 12 结束
对任意的 x(0) , 0= x(0)- x* 也是任意的, 因此要有 Bk+100 (k ), 必须有Bk0 (k ) 由上章定理2.8, 必有 (B) <1 .
10 结束
2)充分性:
设 (B) <1 ,则1不是B的特征值, 有| I- B | 0, 于是 ( I- B ) x = f 有唯一解 , 记为x* , 即有 x*=Bx*+f 成立, 则 k+1= B(x(k) - x*)= Bk 仍成立, k+1= B k+10 仍成立,
(k ) ( k 1) 时,要使用 x1 .但此时 x1 已计算出来.看来此时可提前使 (k ) ( k 1) 代替 用 x1 ,一般地,计算 x1
xi( k 1) (n≥i≥2)时,使
用x
( k 1) p
(k ) x 代替 p (i >p≥1),这样可能收敛会快一些,这就
形成一种新的迭代法,称为Gauss-Seidel迭代法。 例2 用 Gauss-Seidel 迭代法计算例1并作比较. 解 迭代公式为:
1 10 4 2 . 2 2 3 0 .2 0 .1 0 1 解:1)就A1讨论 BJ D ( L U ) 0.2 0 0.1. 0 .2 0 .4 0 10 A1 2 1 4 A2 2 1 2 1 1 , 5 2
由上章定理2.8, 由 (B) <1 , 可得 Bk+1 0 (k ) 成立,
因此 k+1 0 (k ) 成立, 也即是 x(k) x* (k )
•定理3.1是迭代法收敛的基本定理,它不但能判别收敛,也能 判别不收敛的情况.但由于ρ(B)的计算往往比解方程组本身更困 难,所以本定理在理论上的意义大于在实用上的意义. •从上面的定理可以看到,迭代法的收敛与否与B的性态有关, 而与初始向量x(0)和右端向量 f 无关. 由于ρ(B)难于计算,而由定理2.7有ρ(B) ≤||B|| ,||B||<1时, 必 有 ρ(B) <1,于是得到: 11 结束
(k=0,1,2, ) 结束
任取一初始向量,例如 x(0)=(0,0,0)T ,得到迭代序列 {x(k)} (k=0,1,2,),列表如下表3-1。
k
x1 x2 x3
0
0 0 0
1
2
3
4
5
6
7
8
0.3000 0.8000 0.9180 0.9716 0.9804 0.9962 0.9985 0.9998 1.5000 1.7600 1.9260 1.9700 1.9897 1.9961 1.9986 1.9998 2.0000 2.6600 2.9540 2.9540 2.9823 2.9938 2.9977 2.9997
例3 用Gauss-Seidel迭代法和取ω=1.45的SOR法计算下列方程 组的解,当 max| xi( k 1) xi( k ) | 107 时退出迭代,初值取x(0)=(1,1,1)T 。
4 x1 2 x2 x3 0 2 x1 4 x2 2 x3 2 x 2 x 3x 3 1) ri ( k ) xi( k )
1 aii
7
结束
(k ) 为加快收敛,在增量 ri
前加一个因子
i 1 ( k 1) j n
(0 2), 得
(k ) j
x
( k 1) i
x
(k ) i
bi aij x aii j 1
按下式进行迭代 (k ) (k ) x1( k 1) 0.2 x2 0.1x3 0.3 ( k 1) (k ) (k ) x 0 . 2 x 0 . 1 x 2 1 3 1.5 x ( k 1) 0.2 x ( k ) 0.4 x ( k ) 2 1 2 3 2
定理3.4 若||B|| =q<1 ,则x(k)的第k次近似值的近似程度有如下 q 估计式: || x ( k 1) x * || || x ( k 1) x ( k ) || (3.18)