解非线性方程组的迭代法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


0.1x2(k ) 0.2x3(k ) 0.72 0.1x1(k1) 0.2x3(k ) 0.83

x3( k
1)

0.2 x1( k 1)

0.2 x2( k 1)
0.84
在多数情况下用高斯—赛德尔迭代法比雅克比 迭代法收敛快。但也有相反的情况,即高斯—赛德 尔迭代法比雅克比迭代法收敛慢,甚至还有雅克比 迭代法收敛,高斯—赛德尔迭代法发散的情形。
a
i
j
x
(k j
1)
j 1

n
a
i
j
x
(k j
)
)
j i1
(i
1,2,..., n )
再将第k次迭代向量的第i个分量xi(k )与~xi(k 1)进行加权平
均,得xi(k 1),即
x (k 1) i

(1


)
x
( i
k
)


x
( i
k
1)

x(k) i


(
x
( i
k
1)

xi( k ) )
j 1

n
a
ij
x
(k j
)
)
j i1
用此公式求解线性方程组的方法称为带有松弛因子ω的松弛迭代法.
当ω>1时称为超松弛迭代法;(SOR法)
当ω<1时称为低松弛迭代法;
当ω=1时就是G—S迭代法.
当某些方程组用高斯—赛德尔迭代法不收敛时,可以用低松弛方法获
得收敛,
x (k 1) i

)
j 1
j i 1
i 1, 2,L , n. m 0,1, 2,L .
若用矩阵来记录雅可比矩阵,可作如下的推导: 令A=D-L-U,其中
a11

a22
D



0



a21
0

O

-L=

a31
L
a32 L
0 L
O
,
ann

a13 x3 a23 x3

b1 b2
a31x1 a32 x2 a33x3 b3
假设 aii 0 i=1,2,3 则方程组可写为:
x1

1 a11
( b1
-a12 x2 a13x3 )
x2

1 a22
(b2 -a 21x1
a23x3 )
(4.1)
1 x3 a33 (b3 -a31x1 a32 x2 )
lim X (m) X *
m
在某种条件下,按雅可比迭代所产生的向量序列的极限 会存在,且等于原方程组的解。这种求解方法被称为雅 可比迭代法,或简单迭代法。
例 用简单迭代法解下列方程组
10x1 x2 2x3 7.2 x1 10x2 2x3 8.3 x1 x2 5x3 4.2
k
向量序列依范数收敛与依坐标收敛是等价的。
证:
由 lim x(m) m

x*

lim (
m
xi(
m)
xi*) 0
(i 1, 2,L
, n)
lim max m 1in
x(m) i

xi*
0 lim m
x(m) x*
0

再由范数的等价性有
lim x(m) x* lim x(m) x* 0
得m+1次近似X(m+1)。
x ( m 1) 1

1 a11
( b1
-a12
x(m) 2

a13 x3(m)
)
x ( m 1) 2

1 a22
(b2
-a
21
x(m) 1
a23 x3(m) )
x ( m 1) 3

1 a33
(b3 -a31x1(m)

a32
x(m) 2
)
称此迭代公式为原方程组的雅可比迭代公式.
迭代法的基本思想是用逐次逼近的方法求线性方程组的解。
设有方程组 A x b ,将其转化为等价的便于迭代的形式
x Bx f
(这种转化总能实现,如令 B I A, f b)并由此构造迭
代公式
x (k 1) Bx (k ) f
其中,B 称为迭代矩阵,f 称为迭代向量。对任意的初始向

xi*
则向量 x* ( x1* , L , xn* )T 称为向量序列{ x(m) }的极限,
或者说向量序列{x(m) }依坐标收敛于向量,记为
lim x(m) x*
m
引理
向量序列{x(m)}依坐标收敛于x*的充要条件是
如果满足此式,称x(m)
lim x(m) x* 0
依范数收敛于x*
量 x (0) ,由迭代式可求得向量序列
x(k) 0
若lim x (k ) x *,则 x* 就是方程组Ax=b的解.
k
§4.1 解线性方程组的三种迭代法
4.1.1.雅克比(Jacobi)迭代法(以三阶方程组为例)
设有方程组:
aa2111xx11
a12 x2 a22 x2
)
x ( m 1) 2

1 a22
( b2

a21
x ( m 1) 1

a23
x(m) 3
)
x ( m 1) 3

1 a33
( b3

a31
x ( m 1) 1

a32
x ( m 1) 2
)
一般地,对n阶线性方程组的迭代格式改为:
x(m1) i

1 aii
(bi

i 1
a x(m1) ij j
则对任意的初始向量 x(0) ,该迭代过程收敛于 x Bx f
x 的唯一解 * ,且有估计式
(1) x* x(m) 1 x(m1) x(m)
an1 an2 L an,n1 0
0 a12

0
-U=


a13 a23 0
O
a1n
a2n


an1n 0
则有AX=DX-LX-UX=b.即DX=b+(L+U)X
从而有DX(m+1)=b+(L+U)X(m).若 aii 0 (i=1,2,L ,n)
于是得 SOR迭代公式.
(i 1,2,..., n ) x(k1) i

x(k) i


aii
(bi

i 1
aij
x (k 1) j

j 1
n
a
ij
x
(k j
))
ji

x
( i
k
1)

(1


)
x
( i
k
)


aii
(bi

i 1
a
ij
x
(k j
1)
j 1

n
a
x(m1) Bx(m) f
4.2.1 迭代法收敛的概念
定义
设给定Rn中的向量序列{ x(m)},即
其中
x(m)
x1(m) , x2(m) , L
,
x(m) n
T
x(0) , x(1) ,L , x(m) ,L
若对任何i (i = 1, 2,…, n )都有
lim
m
x(m) i
任选一向量X(0)作为解的初值.
X (0)

(
x1(0
)
,
x(0) 2
,
x(0) 3
)
代入式(4.1)中得方程组的一次近似.
X (1)

(
x (1) 1
,
x (1) 2
,
x (1) 3
)
把X(1) 再代入到(4.1)中得方程组的二次近似.
X
(2)

(
x1(
2)
,
x(2) 2
,
x(2) 3
)
重复这一过程,假设得到了m次近似X(m)。代入到(4.1)中可
k
1)。
首先,由高斯—赛德尔迭代法求出一个值,记
~xi(k 1)

1 aii (bi
Baidu Nhomakorabea

i 1
a
ij
x
(k j
1)

j 1
n
a
ij
x
(k j
)
)
j i1
(i
1,2,..., n )
首先,由高斯—赛德尔迭代法求出一个值,记
~xi(k 1)

1 aii
(bi

i 1
则D可逆,于是得 x(m1) D1(L U )x(m) D1b =BJ x(m) fJ
BJ D1(L U ), fJ D1b
称BJ为雅可比迭代矩阵.这种迭代格式称为雅可比迭代格式。
定义4.1 如果向量序列{X(m)}={(x1(m) , x2(m) ,… xn(m) } 有 xi(m) →xi* (i=1,2,3,…n) (m → ∞) 则称向量X*=(x1*,x2*,…xn*)为向量序列{X(m)}的极限,记为:
(1


)
x
( i
k
)


aii
(bi

i 1
a x (k 1) ij j
j 1

n
aij
x
(k j
)
)
j i 1
将上式写成矩阵的形式,得:
DX (k 1) (1 )DX (k ) (b LX (k 1) UX (k ) )
即(D L) X (k 1) [(1 )D U ]X (k ) b
称BG为高斯——塞德尔迭代矩阵
例 用赛德尔迭代法解 方程组
10x1 x2 2x3 7.2 x1 10x2 2x3 8.3 x1 x2 5x3 4.2
解 将原方程组写成等价形式并按 (3―75)构造赛德尔迭代公式

x1( k x2( k
1) 1)
ij
x
(k j
)
)
j i1
x(k 1) i

x(k) i


aii
(bi
i 1
aij
x (k 1) j

j 1
n
a
ij
x
(k j
))
ji
(i 1,2,..., n)

x
( i
k
1)

(1 ) xi(k )


aii
(bi

i 1
a
i
j
x
(k j
1)
解将方程组写成等价形式
x1
0.1x2 0.2x3 0.72

x2

0.1x1
0.2x3 0.83
x3 0.2x1 0.2x2
0.84
取初始值x(0)= 0,按迭代公式

x1(k x2(k
1) 1)

0.1x2(k ) 0.1x1(k )
0.2x2(k) 0.2x3(k)
于是得SOR迭代的矩阵表示
X (k 1) B X (k ) f 其 中 B ( D L ) 1[(1 ) D U ]
f (D L)1b
4.2 迭代法的收敛条件
前面介绍了三种迭代法.从例子看到这三种迭代法 都有成功的时候.但我们也可以预计,某种迭代法可能会 失效.下面我们试图从理论上来探讨这一问题.三种迭代 法的统一写法为:
0.72 0.83

x3(k
1)

0.2x1(k )
0.2x2(k)
0.84
4.1.2 高斯——赛德尔迭代法
对雅可比迭代法作如下的改进:将初值
X (0)

(
x(0) 1
,
x(0) 2
,
x(0) 3
)
代入4.1的第一个方程可得
x1(
0),用(
x(1) 1
,
x(0) 2
,
x(0) 3
)代入第二个方
程得
x(1) 2
x ,用
(
x(1) 1
,
x(1) 2
,
x(0) 3
) 代入第三个方程得
(1) 3
, 这样一
直做下去,直到得到满意的解为止.之所以作这样的改进是希望
更快的得到近似解.
这种迭代的方法用公式写出来就是:
x ( m 1) 1

1 a11
( b1

a12
x(m) 2

a13
x(m) 3
第四章 解线性方程组的迭代法
前面介绍的解线性方程组的直接法是解低阶稠 密方程组的有效方法。但是,在工程技术中常产生 大型稀疏矩阵方程组,例如由某些偏微分方程数值 解所产生的线性方程组Ax=b,A的阶数很大 (n 10,4 ) 但零元素较多,迭代法是能够充分利用系数矩阵稀 疏性特点的有效算法。
迭代法的构造
j 1

n
aij
x
(m) j
)
j i 1
i 1, 2,L , n; m 0,1, 2,L . (4.8)
对给定的初值,用此迭代公式求线性方程组的方法被称为 高斯—塞德尔迭代法。(G—S)
用矩阵表示此方法为:DX (m1) b LX (m1) UX (m)
即: X (m1) (D L)1UX (m) (D L)1b =BG X (m) fG
对于n阶方程组 Ax b, A=(aij)nn , b (bj )n1 设aii 0 i=1,2,L ,n
则雅可比迭代公式为:



x(m1) i

x(0) 1
aii

(
x(0) 1
,
x(0) 2
,L
,
x(0) n
)T
i 1
n
(bi
aij
x(m) j

aij
x(m) j
m
m
定义4.2 设x*是方程组Ax=b的解,对于给定的初始向
量x(0) ,若由某种迭代法产生的向量序列{x(m)}有
lim x(m) x*
m
则称该方法收敛,否则称该方法发散.
4.2.2 迭代法收敛的判定定理
定理4.1 设 x(m1) Bx(m) f ,

B q 1 p
4.1.3 超松弛迭代法
弛迭代法是高斯—赛德尔迭代法的一种改进,是解大型稀
疏矩阵方程组的有效方法之一.
设已知第k次迭代向量X (k ),及第k 1次迭代向量X (k 1)
的前i 1个分量
x
(k 1) j
(
j
1,2,..., i 1),
现在研究如何求向量
X
(
k
1)的

i个


x
( i
相关文档
最新文档