当前位置:文档之家› 数值分析第三章 线性方程组的迭代法

数值分析第三章 线性方程组的迭代法

显然对任何一个ω值,(D+ωL)非奇异, (因为假设 aii 0,i 1,2,, n )于是超松弛迭代公式为
x(k1) (D L)1 (1)D U x(k) (D L)1b
令 L (D L)1 (1)D U
f (D L)1b
因为 D 0 ,所以 D L D 0

(D L)x(k1) Ux(k) b
x(k1) (D L)1Ux(k) (D L)1b
令 G1 (D L)1U , d1 (D L)1b
则高斯-塞德尔迭代形式为:
x (k 1) G1 x (k ) d1
其具体计算公式如下:
⑴ 用高斯—塞德尔迭代法定义辅助量。
~xi(k 1)

1 aii
bi

i 1
aij x j (k 1)
j 1

n
aij
x
j
(
k
)
,
(i
j i 1

1,2,...,n)


取为 与 x (k1) i
x (k ) i
~xi(k 1) 的加权平均,即

x (k 1) 1
x (k 1) 2
x1(k 2x1(k)
)

x(k) 2
4x2(k )
3 3

x (0) 1

x (0) 2
0
计算得
xx2(1(11))

3 3,
xx2(1(22))

3 3,
xx2(1(33))

9 9,
xx2(1(44))
量。有时迭代过程虽然收敛,但由于收敛速 度缓慢,使计算量变得很大而失去使用价值 。因此,迭代过程的加速具有重要意义。逐 次超松弛迭代(Successive Over relaxatic Method,简称SOR方法)法,可以看作是 带参数的高斯—塞德尔迭代法,实质上是高 斯-塞德尔迭代的一种加速方法。
0.4925 )T
0.4939 )T 0.4936 )T
1,2,3)
解 GaussSeidel 迭代格式为


x1(k x2(k
1) 1)
( (2x1(k 1)
x(k) 2

x(k) 3
1)
/
8

x(k) 3

4)
/ 10

x3(k
1)
( x1(k 1)
§ 3.4.1超松弛迭代法的基本思想
超松弛迭代法目的是为了提高迭代法的收敛速
度,在高斯—塞德尔迭代公式的基础上作一些修改
。这种方法是将前一步的结果
x
( i
k
)与高斯-塞德尔迭
代方法的迭代值 ~xi(k1) 适当加权平均,期望获得更好
的近似值
x (k 1) i
。是解大型稀疏矩阵方程组的有效方
法之一,有着广泛的应用。
§ 3.3.3 高斯—塞德尔迭代算法实现
高斯-塞德尔迭代算法的计算步骤与流程图
与雅可比迭代法大致相同,只是一旦求出变元 xi
的某个新值
x (k 1) i
后,
就改用新值
x (k 1) i
替代老

x (k ) i
,再进行这一步剩下的计算。
§ 3.4 超松弛迭代法(SOR方法) 使用迭代法的困难在于难以估计其计算
§3.1 迭代法的基本思想
迭代法的基本思想是将线性方程组转化 为便于迭代的等价方程组,对任选一组初始 值 xi(0) (i 1,2,, n) ,按某种计算规则,不断地 对所得到的值进行修正,最终获得满足精度 要求的方程组的近似解。
设 A Rnn 非奇异,b Rn,则线性方程组
Ax b 有惟一解 x A1b ,经过变换构造
写据成此建立n 迭ai代j x公j 式 bi
i 1,2,, n
上若xi式(xkai称1ii)为0ja1解a11i(iiii方((bb程1ii,2组,jj的njn,1i n1Jaa)aijcxio,j分(jxbk)ij离)迭) 代出公i变i式量1,。21x,,2i , n , n j i

15 15,
xx2(1(55))

33 33,
迭代解离精确解 x1 1, x2 1 越来越远 迭代不收敛
§3.2 雅可比(Jacobi)迭代法
§3.2.1雅可比迭代法算法构造 例2 用雅可比迭代法求解方程组
8x1 3x2 2x3 20 4x1 11x2 x3 33
(k j
)
)
j i 1
(i=1,2,…,n k=0,1,2,…)
例3 用Gaxu(s1)s (S0e.i1d2e5l0迭, 代0格.37式50解, 方程0组.5000 )T
x*精≈ 确xxxx82x要((i((341x4x2))))11求x为((x(1x0200i(02..ε3.222)x22352=454xx050433.0,,,0x.003 0105300.5..333,0400553961,,,(i
an1
an2
ann1 0
a1n
a2n


an1n

0
记作 A = D + L + U
则 Ax b 等价于 (D L U )x b
即 Dx (L U )x b 因为 aii 0(i 1,2,, n)
x D1(L U )x D1b
( x1(k ) , x2(k ) , x3(k ) )
(k=1, 2, …)
直到求得的近似解能达到预先要求的精度,
则迭代过程终止,以最后得到的近似解作为线
性方程组的解。 当迭代到第10次有
x (10)

(
x (10) 1
,
x (10) 2
,
x (10) 3
)T
(3.000032 ,
1.999838 ,
, 故 x* 是方程组 Ax b 的解。
对于给定的方程组可以构造各种迭代公式。 并非全部收敛
例1 用迭代法求解线性方程组

2x1 2x1

x2 5x2
3
3
解 构造方程组的等价方程组

x1 x2

x1 2x1
x2 3 4x2 3
据此建立迭代公式
§3.2.2 雅可比迭代法的矩阵表示
设方程组 Ax b 的系数矩阵A非奇异,且主对
角元素 aii 0(i 1,2,, n) ,则可将A分裂成
a11
A
a22



0

a21
0
0 a12 a13

0 a23


a31
a32
0

0

ann

A=d+L+U, 则超松弛迭代公式用矩阵表示为
x(k1) (1 )x(k ) D1(b Lx(k1) Ux(k ) )
或 Dx(k1) (1 )Dx(k) (b Lx(k1) Ux(k) )
故 (D L)x(k1) (1)D U x(k) b
yi xi i =1,2,…,n
max
1i n
xi

yi
?
n n
k=M? y
输出迭代 失败标志
y
输出
y1, y2,… yn
§ 3.3 高斯-塞德尔(Gauss-Seidel)迭代法
§ 3.3.1 高斯-塞德尔迭代法的基本思想
在Jacobi迭代法中,每次迭代只用到前一次
的迭代值,若每次迭代充分利用当前最新的迭代值

an2 x2(k )

an
n1 xn(k)1
bn )
(k=0,1,2,…)
3.2.1
雅 可 比 迭 代 法 的 算 法 实 现
输入 aij,bi,和 方程阶数 n,ε ,M
1k
n
(bi aij x j ) / aii yi j 1 j i
i 1,2,, n
k+1k
,即在求
x (k 1) i
时用新分量 x1(k
1)
,
x 2( k
1)
,,
x (k 1) i 1
代替旧分量
x1(
k
)
,
x2(k
)
,,
x(k) i 1
, 就得到高斯-赛德尔迭
代法。其迭代法格式为:
x(k1) i

1 aii
(bi

i1
aij
x
(k j
1)
j 1

n
aij
x
,则
这样便得到一个迭代公式
x(k1) D1(L U )x(k ) D1b

B D1(L U ) f D1b
则有
x (k 1) Bx (k ) f (k = 0,1,2…)
称为雅可比迭代公式, B称为雅可比迭代矩阵
雅可比迭代矩阵表示法,主要是用来讨论其收敛 性,实际计算中,要用雅可比迭代法公式的分量 形式。即
出一个等价同解方程组 x Gx d 将上式改写成迭代式
x (k 1) Gx (k ) d (k 0,1,)
选定初始向量 x(0) x1(0) , x2(0) ,, xn(0) T ,反复不断
地使用迭代式逐步逼近方程组的精确解,直到 满足精度要求为止。这种方法称为迭代法
精确解x*= (3, 2, 1)T
6x1 3x2 12x3 36
相关主题