第六章解线性方程组的迭代法
第五章 解线性方程组的迭代法
本章主要内容:
迭代法收敛定义,矩阵序列收敛定义,迭代法基本定理,雅可比迭代法,高斯-塞德尔迭代法,系数矩阵为严格对角占优阵的采用雅可比迭代、高斯-塞德尔迭代的收敛性。
教学目的及要求:
使学生了解迭代法收敛定义,迭代法基本定理,掌握雅可比迭代法、高斯-塞德尔迭代法。
教学重点:
雅可比迭代法,高斯-塞德尔迭代法。
教学难点:
迭代法基本定理的证明以及作用。
教学方法及手段:
应用严格的高等代数、数学分析知识,完整地证明迭代法基本定理,讲清雅可比迭代法与高斯-塞德尔迭代法的关系,介绍雅可比迭代法与高斯-塞德尔迭代法在编程中的具体实现方法。
在实验教学中,通过一个具体实例,让学生掌握雅可比迭代法与高斯-塞德尔迭代法的具体实现,并能通过数值计算实验,揭示高斯-塞德尔迭代法是对雅可比迭代法的一种改进这一事实。
教学时间:
本章的教学的讲授时间为6学时,实验学时4学时。
教学内容:
一 迭代法定义
对于给定的线性方程组x Bx f =+,设它有唯一解*x ,则
**x Bx f =+ (6.1)
又设(0)x 为任取的初始向量,按下述公式构造向量序列
(1)(),0,1,2,
k k x Bx f k +=+= (6.2)
这种逐步代入求近似解的方法称为迭代法(这里B 与f 与k 无关)。如果()
lim k k x
→∞
存在
(记为*x ),称此迭代法收敛,显然*
x 就是方程组的解,否则称此迭代法发散。
迭代法求方程近似解的关键是是讨论由(6.1)式所构造出来的向量序列()
{}
k x 是否收敛。为此,我们引入误差向量
(1)(1)*k k x x ε++=-
将(6.2)式与(6.1)式相减,我们可得
(1)*()*()k k x x B x x +-=-
(1)(),0,1,2,
k k B k εε+==
递推下去,得
()(1)2(2)(0)k k k k B B x B x εε--====
要考察()
{}k x
的收敛性,就要研究B 在什么条件下有
()lim 0k k ε→∞
=
也就是要研究B 在什么条件下有
lim 0k k B →∞
=。
二 迭代法收敛性定理 矩阵的收敛性定义
设有矩阵序列()()k n n
k i j A a R ?=∈及()n n
i j A a R
?=∈,如果n n ?个数列极限均存在
且有
()
lim (,1,2,,)k i j i j k a a i j n →∞
==
则称{}k A 收敛于A ,记为lim k k A A →∞
=。
注:
矩阵序列的收敛性是根据矩阵的每个分量序列的收敛性来定义的。
【例题1】讨论约当块矩阵的幂次所构成的矩阵序列的收敛性。 形如
1
1n n
J λλ
λ??? ?
?= ? ??
? 的矩阵称之为n 阶的约当块。它可以分解成为
010010J I λλ
λλ???? ?
?
?
?=+?+Λ ? ? ? ??
???
下面,我们分几步来研究矩阵序列
23,,,
,,
m J J J J
的收敛性。
1 矩阵Λ的幂阵的性质
我们不妨以4阶阵来看看这种性质。
0101010?? ?
?Λ= ?
???,2001001000??
? ?Λ= ? ???, 3
00010000
00?? ?
?Λ= ?
??
?,4
00000000
00?? ?
?Λ= ? ??
?
m Λ的性质可归纳为以下两点:
(1) 如4m ≥时,0m
Λ=;
(2) m=1时,Λ的第2条对角线元素为1,其余为零;m=2时,2
Λ的第3条对角线元
素为1,其余为零;m=3时,3Λ的第4条对角线元素为1,其余为零。
简言之,m Λ的第m+1条对角线元素为1,其余为零(当没有第m+1条对角线时,m Λ应理解为零矩阵)。
2 计算约当块的幂次。
当m n ≥时,
1
1
()m
n m
m
k k
m k
m
k
k m k m
m
m k k J I C C C λλ
λλ---===Λ+=Λ=Λ+Λ∑∑
1
1
n m
k
k m k
m k I C λλ--==+Λ∑11221(1)
11
2211
m
m m n m n m m m m m m m
m m m m m C C C C C C λλλ
λ
λλ
λλ
λλ--------?? ? ?
?= ? ?
??
?
3 一个极限性质
因为lim 0(01,0)k m
m m c c k →∞
=<<≥,得到
lim 01k m k
m m C λλ-→∞
=?<
这里,注意事实
(1)
(1)
!
k k m m m m k C m k --+=
≤
4 约当块幂阵的收敛性结论
当1λ<时,{}m J 收敛于零矩阵;当
1λ≥,{}m J 发散。
矩阵序列极限的概念可以用矩阵范数来描述。
【定理1】
lim lim 0k k k k A A A A →∞
→∞
=?-=,其中?为矩阵的任意一种范数。
证明 显然有
lim lim 0k k k k A A A A
∞
→∞
→∞
=?-=
再利用矩阵范数的等价性,可证明定理对其他矩阵范数也成立。 【定理2】lim k k A A →∞
=的充要条件是n
x R ?∈,有lim k k A x Ax →∞
=。
证明 必要性 记k k B A A =-,据lim k k A A →∞
=,可知lim 0k k B →∞
=。
设()
()k k i j B b =,对于1(1,0,
,0)T ε=,有
()()
()111211(,,,)k k k T
k n B b b b ε=
由lim 0k k B →∞
=可知,1lim 0k k B ε→∞
=。 类似地,可证明 lim 0(1,2,
,)k i k B i n ε→∞
==。
这里,12,,,n εεε是n R 中的基本单位向量组。
n x R ?∈,则1122n n x x x x εεε=+++ 1122k k k n k n B x x B x B x B εεε=++
+
1122lim lim lim lim 0k k k n k n k k k k B x x B x B x B εεε→∞
→∞
→∞
→∞
=++
+=
即 lim()0k k A A x →∞
-=,lim()0k k A x Ax →∞
-=
亦即 lim k k A x Ax →∞
=。
充分性 据lim k k A x Ax →∞
=,有 lim()0k k A A x →∞
-=,lim 0k k B x →∞
=
由x 的任意性,如果取1x ε=,则
()()
()111211(,,
,)k k k T
k n B b b b ε=,1lim 0k k B ε→∞
=
亦即 ()
1lim 0(1,2,
,)k i k b i n →∞
==
类似地,可分别让2,
,n x εε=,可得
()lim 0(1,2,
,,1,2,,)k i j k b i n j n →∞
===
故 lim 0k k B →∞
=
从而 lim k k A A →∞
=。
【定理3】设n n
B R
?∈,则lim 0k
k B →∞
=的充要条件是()1B ρ<。
证明 由高等代数知识,存在非奇奇异矩阵P 使
1
2
1
r J J P BP J J -?? ?
?=≡ ? ??
? 其中约当块
1
1i i
i
i
i i n n
J λλλ??? ?
?= ? ??
? 且
1
n
i
i n
n ==∑,显然有
1B PJP -= 1k k B PJ P -=
其中
12
k k k k r J J J J ?? ?
?= ? ? ??
?
于是 lim 0lim 0lim 0(1,2,,)k
k
k
i k k k B J J i r →∞
→∞
→∞
=?=?==
据例题1的结论,lim 0k
i k J →∞
=的充要条件是
1i λ<(1,2,,)i r =
故lim 0k
k J →∞
=的充要条件是()1B ρ<。
【定理4】(迭代法基本定理)设有方程组
x Bx f =+
以及迭代法
(1)()k k x Bx f +=+
对任意选取初始向量(0)
x
,迭代法收敛的充要条件是矩阵B 的谱半径()1B ρ<。
证明 充分性 设()1B ρ<
则矩阵A I B =-的特征值均大于零,故A 非奇异。
Ax f =有唯一解*x ,且 *Ax f =,即 **x Bx f =+。
误差向量
()()*(1)*(1)(0)()k k k k k x x B x x B B εεε--=-=-==
=
由设()1B ρ<,应用定理3,有lim 0k
k B →∞
=。
于是,对任意(0)
x
,有lim 0k k ε→∞
=,即 ()
*lim k k x
x →∞
=。
必要性 设对任意(0)
x
有
()*lim k k x x →∞
=
其中(1)
()k k x
Bx f +=+,显然,极限*x 是方程组x Bx f =+的解,且对任意(0)x 有
()()*(0)0()k k k x x B k εε=-=→→∞
由定理2知 lim 0k
k B →∞
=。
再由定理3,即得()1B ρ<。
判断迭代收敛时,需要计算
()B ρ,一般情况下,这不太方便。由于()B B ρ≤,
在实际应用中,常常利用矩阵B 的范数来判别迭代法的收敛性。
【定理5】(迭代法收敛的充分条件)设有方程组
,n n x Bx f B R ?=+∈
以及迭代法
(1)()k k x Bx f +=+(0,1,2,
k =)
如果有B 的某种范数1B q =<,则 (1)迭代法收敛,即对任取(0)
x
有
()*lim k k x x →∞
= 且 **x Bx f =+。
(2)(1)*1(0)*k k x x q x x ++-≤-。 (3)(1)
*(1)()1k k k q
x
x x x q
++-≤
--。 (4)1(1)
*
(1)
(0)1k k q x
x x x q
++-≤--。
证明 (1)由基本定理4,结论(1)是显然的。 (2)由关系式(1)
*()*()k k x
x B x x +-=-,有
(1)*()*2(1)*1(0)*k k k k x x q x x q x x q x x +-+-≤-≤-≤≤-
(3)(1)()*()*(1)*()*(1)()k k k k k k x x x x x x x x x x +++-=---≥---
*()*()*()(1)k k k x x q x x q x x ≥---=--
即*
()
(1)()()(1)111k k k k k q
x x
x x x x q q
+--≤
-≤--- 显然(1)
*(1)()1k k k q
x
x x x q
++-≤
--亦成立。 (4)21(1)
*
(1)()
()(1)(1)(0)111k k k k k k q q q x
x x x x x x x q q
q
+++--≤-≤-≤
≤----。 注:
该定理中的第3款可作为误差的事后估计式。 三 几种常见的迭代法及收敛性
下面,我们讨论线性方程组
Ax b =
如何用迭代法求近似解的问题。
这里,()n n i j A a R ?=∈为非奇异矩阵,12(,,,)T n n b b b b R =∈。
(一) 雅可比迭代法。
设0(1,2,,)ii a i n ≠=,将A 分解成以下三部分
1112
11
122
2121
211
11
12
11
2
1
000000
00n n n n n n n n n n nn n n nn a a a a a a a a A a a a a a a a a -----------??????
?
?
?--- ? ?
?
? ? ?=-- ?
? ?--- ? ? ? ? ? ?---?
?
?
??
? D L U --
11()()()Ax b D L U x b Dx L U x b x D L U x D b --=?--=?=++?=++
记1
()B D L U -=+,1
f D b -= 那么 x Bx f =+ 形成迭代式
对于任意初值(0)
x
,(1)
()k k x
Bx f +=+(0,1,2,
k =)
这就是雅可比迭代法。 注:
1 形成雅可比迭代式的条件是A 的主对角线元素均非零。
2 雅可比迭代收敛的条件是1
()(())1B D L U ρρ-=+<。 【例题2】对于线性方程组
???
??=++=++=++6
9228281027321
321321x x x x x x x x x 利用雅可比迭代法求其近似解(允许的最大迭代次数N ,近似解的精度eps ,由用户设定)。 (二) 高斯-塞德尔迭代法。
从雅可比迭代的分量形式可以发现,在进行第k 次迭代时,利用()
1k x ,()
2k x ,…,()
k n x ,生成向量(1)
k x
+,其分量产生的次序是(1)
1
k x +,(1)
2
k x +,…,(1)
k n
x +。我们对雅可比方法进行以
下改变设计: