西安交通大学计算方法C讲义

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

计算方法(C)
目录
第1章绪论
1。

1 数值计算
1。

2 数值方法的分析
1.2.1计算机上数的运算
1.2.2算法分析
第2章线性代数方程组
2。

1 Gauss消去法
2.1.1消去法
2.1.2主元消去法
2.2 矩阵分解
2.2.1Gauss消去法的矩阵意义
2.2.2矩阵的LU分解及其应用
2.2.3其他类型矩阵的分解
2.2.4解三对角矩阵的追赶法
2.3线性方程组解的可靠性
2.3.1向量和矩阵范数
2.3.2残向量与误差的代数表征
2.4解线性方程组解的迭代法
2.4.1基本迭代法
2.4.2迭代法的矩阵表示
2.4.3收敛性
第3章数据近似
3。

1 多项式插值
3.1.1插值多项式
3.1.2Lagrange插值多项式
3.1.3Newton插值多项式
3.1.4带导数条件的插值多项式
3.1.5插值公式的余项
3. 2 最小二乘近似
3.2.1 最小二乘问题的法方程
3.2.2 正交化算法
第4章数值微积分
4.1 内插求积,Newton-Cotes公式
4.1.1Newton—Cotes公式
4.1.2复化求积公式
4.1.3步长的选取
4.1.4Romberg方法
4.1.5待定系数法
4.2数值微分
4.2.1插值公式方法
4.2.2Taylor公式方法 (待定系数法)
4.2.3外推法
第5章非线性方程求解
5。

1 解一元方程的迭代法
5.1.1简单迭代法
5.1.2Newton法
5.1.3割线法
5.1.4区间方法
5。

2 收敛性问题
5.2.1简单迭代—-不动点
5.2.2收敛性的改善
5.2.3Newton法的收敛性
5.2.4收敛速度
第1章绪论
1。

1数值计算
现代科学的发展,已导致科学与技术的研究从定性前进到定量,尤其是现代数字计算机的出现及迅速发展,为复杂数学问题的定量研究与解决,提供了强有力的基础.
通常我们面对的理论与技术问题,绝大多数都可以从其物理模型中抽象出数学模型,因此,求解这些数学模型已成为我们面临的重要任务.
一、本课程的任务:
寻求解决各种数学问题的数值方法—-如何将高等数学的问题回归到初等数学(算术)的方法求解—-了解计算的基础方法,基本结构(否则只须知道数值软件)——并研究其性质.
立足点:
面向数学——解决数学问题
面向计算机—-利用计算机作为工具
充分发挥计算机的功能,设计算法,解决数学问题
例如:迭代法、并行算法
二、问题的类型
1、离散问题:例如,求解线性方程组b
Ax= -—从离散数据:矩阵A和向量b,求解离散数据x;
2、连续问题的离散化处理:例如,数值积分、数值微分、微分方程数值解;
3、离散问题的连续化处理:例如,数据近似,统计分析计算;
1.2数值方法的分析
在本章中我们不具体讨论算法,首先讨论算法分析的基础--误差.
一般来讲,误差主要有两类、三种(对科学计算):
1)公式误差-—“截断误差”,数学↔计算,算法形成——主观(人为):数学问题-数值方法的转换,用离散公式近似连续的数学函数进行计算时,一般都会发生误差,通常称之为“截断误差”;——以后讨论
2)舍入误差及输出入误差——计算机,算法执行—-客观(机器):由于计算机的存储器、运算器的字长有限,在运算和存储中必然会发生最末若干位数字的舍入,形成舍入误差;在人机数据交换过程中,十进制数和二进制数的转换也会导致误差发生,这就是输入误差.这两种误差主要是由于计算机的字长有限,采用浮点数系所致。

首先介绍浮点数系
1。

2。

1 计算机上的运算—-浮点运算
面向计算机设计的算法,则先要讨论在计算机上数的表示。

科学记数法——浮点数:约定尾数中小数点之前的数全为零,小数点后第一个数不能为零. 目前,一般计算机都采用浮点数系,一个存储单元分成首数和尾数: × × ┅┅┅┅ ± × × × ┅┅┅┅┅┅┅┅ × × 首数 尾数(位)
其中首数存放数的指数(或“阶”)部分,尾数存放有效数字。

对于
进制,尾
数字长为t 位的浮点数系),,,(U L t F β中的(浮点)数,可以用以下形式表示:
t
j j
d d l t
t d d
d x fl ,,3,2,
01
1)221()( =<≤<≤⨯++±=ββββββ
此处,指数l (称为阶)限制在U l L ≤≤范围内。

以下记实数系中的实数为R x ∈,它在浮点数系),,,(U L t F β中对应的浮点数记为),,,()(U L t F x fl β∈—-β进制,t 尾数位数,U L ,阶的范围。

几乎所有近代计算机都采用“二进制”(即2=β):位、字节和字分别是指位数不同的二进制数。

例如
十进制
转换
二进制
1 021= 0000 0001
2 122= 0000 0010 4 224= 0000 0100 8 328= 0000 1000 9 03229+= 0000 1001 10 132210+=
0000 1010
27
013422221281627+++=+++=
字节
100011011
位是一个二进制数(即0或1);字节是8个二进制数字;上表的最后一列是字节。

单精度浮点数(single precision )按32位存储,双精度浮点数(double precision )按64位存储。

精度用于指明每个浮点数保留多少位以及尾数和阶数各分配多少位.单精度浮点数的尾数为23位、阶数为8位;双精度浮点数的尾数为53位(包含符号位)、阶数为11位(包含符号位)。

双精度浮点数的等价二进制数如下所示:

位尾数
符号位
位指数(含符号位)645211ddddd ddd f bb bbbb 浮点数的特点:
1、 实数转换到浮点数—-浮点化,<缺点:〉总会产生误差(除极个别的情况:
,2,1,0,2±±==l x l )
按 四舍五入,绝对误差:t l x fl x -≤-β2
1
)((举例),
〈优点:〉浮点化产生的相对误差有界(与数字本身的数量级无关)
t x x fl x x -≤-=
12
1
)()(βδ 注:设实数R x ∈,则按β进制可表达为:
1,,,3,2,011)1
1221(+=<≤<≤⨯+++++++±=t t j j d d l t t d t t d d d x βββββββ按四舍五入的原则,当它进入浮点数系),,,(U L t F β时,若β2
1
1<
+t d ,则 l t
t d d
d x fl ββββ⨯+++±=)221()(
若β211
≥+t d ,则 l t
t d d d x fl ββββ⨯++++
±=)1221()(
对第一种情况:
t l l
t l t t d x fl x -++=⨯≤
⨯+=-βββββ21)2
1(1)(
)(1
1
对第二种情况:
t l l
t
l t t d x fl x -++=⨯≤⨯--=
-βββ
βββ21)21(1)(11 就是说总有: t
l x fl x -≤
-β2
1)( 另一方面,由浮点数要求的 β<≤11d , 有l
x ββ
1≥,将此两者相除,便得
t x x fl x -≤-12
1
)(β
2、每一个浮点数系的数字有限: 1)1()1(21++---L U t ββ
3、浮点数系中的运算非自封闭,(因为数字有限、尾数字长有限、指数数字有限等)
例:在)5,5,4,10(-F 中,32102001.,105420.⨯=⨯=-y x ,运算y x *和y x /,
的结果显然已不在此浮点数系内,而y x +或y x -也不在此浮点数系内,需
)(y x fl 结果才在此浮点数系内。

浮点运算应注意:
1)避免产生大结果的运算,尤其是避免小数作为除数参加运算; 2)避免“大"“小"数相加减;
3)避免相近数相减,防止大量有效数字损失; 4)尽可能简化运算步骤,减少运算次数。

原因:
记t
x x fl x x -=-==12
1)(max
)(max βδ∆,由x x fl x ∆≤-)(,可得: y x y x fl y x ∆≤-)()( (“。

”表示任意一种四则运算)
此处 ∆ 是由机器字长(实质上是尾数字长t 的大小)确定的常数(它反映了实际运算的精度)。

显然,若要求运算的舍入误差小,应使运算结果(如:y x y x y x ,,⋅±)较小。

尤其是小分母运算:
y
y x y x δ
δ=-+,小y ⇒大误差。

其次,当浮点数系中两个数量级相差较大的数相加(或减),注意到由于浮点数系中数字字长的有限性,可能导致“大数吃小数”.例如,)5,5,4,10(-F 中
13102317.,108231.-⨯=⨯=y x ,则
x y x =⨯±⨯=⨯±⨯=±-3313100000.108231.102317.108231.
似乎)(x y y <<没有参加运算.
第三,同样,由于浮点数系中数字字长的有限性,当两个相近数相减时:例如,在)5,5,8,10(-F 中,331082317832.,1082317844.⨯=⨯=y x ,两数相减:
31012000000.-⨯=-y x ,计算结果仅剩2位有效数字,而原来参加运算的数字有8
位有效数字,这将严重影响最终计算结果的精度。

1.2.2 算法分析
作为一个可用的算法,必须考虑其效率和可靠性,
定义:计算机完成一个乘法和一个加法,称为一个浮点运算(记为flop ); 注:由于计算机在运算时,加(减)法所耗时间远少于乘(除)法,所以通常只须计算乘法的次数,因此也有“一个算法需要多少个‘乘法’”这一提法。

1、计算效率—-可计算性(计算复杂性——空间、时间)
例:解线性方程组b Ax =的Grammar 方法:A
A i
i x =
,其中A 是方程
组系数矩阵A 对应的行列式,而i A 则是以右端向量b 替代A 的第i 列所得矩阵对应的行列式。

由线性代数知识可知,若)(ij α=A ,则
∑-=
n
n
ni
i i i i i J ααα 2
1
2
121),()1(A ,
其中),,,(21n i i i J 是由{n ,,2,1 }变换到{n i i i ,,21}所需的置换次数。

可见每计算一个行列式,需要!)1(n n ⋅-个浮点运算;因此,按Grammar 方法解方程组约需!)1(2n n N ⋅-= 个浮点运算。

当20=n 时 201070728.9⨯≈N ,用一个运算速度为秒/108的计算机进行求解,约需510078.3⨯年(日前报道我国计算机已达到/1038408⨯秒,这仍需近10年).而n=20的方程组应该说是一个小型的方程组。

因此Grammar 方法是一个不能接受的算法,它缺乏可计算性.第二章将介绍的Gauss 消去法和迭代法就有较高的效率,具有很好的可计算性。

2、计算可靠性
作为算法,除了考虑其效率外,必须重视可靠性,它包括两方面: 问题的性态 和 方法的稳定性 问题的性态
所计算的问题当原始数据发生小扰动时,问题的解一般也发生扰动。

问题的性态—-问题的解对原始数据发生变化的敏感性。

原始数据小扰动⇒问题解 ⎩⎨⎧—问题是病态的—大变化—问题是良态的
—小扰动
例:线性方程组:
⎪⎪⎪⎩⎪⎪⎪⎨⎧=++=++=++604751413
11213413121
6113121321321321x x x x x x x x x 的解是:⎪⎪⎪⎭⎫ ⎝⎛=111X
若将方程组的系数改写成具有2位有效数字的小数:
⎪⎩
⎪⎨⎧=++=++=++78.020.025.033.01.125.033.050.08.133.050.000.132132121x x x x x x x x x 的解则变成:⎪⎪⎭⎫ ⎝⎛--=65.3325.3822.6~X ;
这是一个典型的病态方程组。

一般:由原始数据 ⇒x 计算结果)(x f ,
扰动后的数据 ⇒x ~计算结果)~(x f ,
若对问题f 存在常数m ,满足关系式:
x
x
x m
x f x f x f ~)()~()(-≤- 或 x
x x m ~ f(x)
)
x ~f(-f(x)sup -=
则称(相对误差之比的上界)m 为该问题的条件数,记作 )(f cond m =;由
微积分中值定理知识容易计算出,当x x ~≈时,)
()
()(x f x f x
f cond '≈ 。

稍后我们在第二章将对线性方程组的性态作进一步的分析. 算法的数值稳定性:
例:计算8,,1,0,1
1
==⎰-n dx e x e
I x n n ; 解:由微积分知识,可得计算公式,① 11--=n n nI I ,②)1(1
1n n I n
I -=-,我们将准确值与计算结果列表如下:
由上表可见,方法①中,原始步的误差,随着计算步数的增加被严重地放大,特别是8I 竟变成负数(注意:被积函数是非负函数),而方法②则相反;这是因
为方法①中,若前步有误差δ:δ+=--11~
k k I I ,则
δδk I k kI I k I k k k k -=--=-=--111~
1~, 说明1-k I 的误差δ,经一步计算后被扩大了k 倍,随着k 的增大,误差将被大大地扩大;而通过同样的分析可知:方法②中k I 的误差则被缩小k 倍。

算法的数值稳定性:算法对初始误差导致的最终误差的可控性,如果最终误差被有效地控制,则称算法是稳定的,否则就是不稳定的.
第二章 线性方程组求解
线性方程组:
⎪⎪⎩⎪⎪⎨⎧=+++=+++=+++⇔=)1.2(22112
22221
2111212111n
n nn n n n n n n x x x x x x x x x βαααβαααβααα b Ax
其中
.,,21212
122221
11211⎥
⎥⎥⎥⎦

⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥
⎥⎥⎦⎤⎢
⎢⎢⎢⎣⎡=n n nn n n n n b x x x x A βββααααααααα
2。

1 Gauss 消去法
2。

1.1 消去法
设计方法原则:面向计算机(事先未知元素,编制程序),例:
1123233
203212221212
1=⇒
⎪⎩
⎪⎨
⎧⎪⎩⎪⎨⎧=⇒-=-=+⇒=-=+x x x x x x x x x
基本思想:降维—-N 维问题转化为N —1维问题-—逐次降维,依次进行 消去过程--对方程组(2.1)由上而下逐步消去对角元)1,,2,1(-=n k kk α 以下的 ),,1(n k i ik +=α,使之转化为如下等价形式,达到目标:
)2.2(222221
1212111⎪⎪


⎪⎨
⎧==++=+++n n nn n n n n x x x x x x βαβααβααα
从而,可进入回代过程,再由下而上,逐步解得 )1,2,,1,( -=n n k x k :
这儿的)1,,2,1(-=n k kk α——主元
对问题(2.1)设011≠α,目标:将第2~n 方程的1x 的系数121,,n αα 转化
为0;方法:“第k 个方程"—⨯11
1αα
k “第1个方程”(),,3,2n k =,得到
⎪⎪

⎪⎪⎨
⎧=++=++=+++)1()1(2)1(2)
1(2
)1(22)1(2211212111n n nn n n n n n x x x x x x x βααβααβααα 现在只须关心由第2~n 方程形成的n-1维方程组,以后可仿此进行.
消去:第k 步)1,,2,1(-=n k :设0≠kk α,以第k 行为基准,消去以下各 行中k 列kk α以下的),,1(n k i ik +=α,令 ,kk
ik
ik l αα=
施行:第k 行—⨯ki l 第i 行 ⇒新的第k 行,元素变化:(0⇒kk
α),k ik i i kj ik ij ij l l βββααα-=-=~,~,
经过1-n 步消去(注意:nn α以下无元可消),得到)2.2(式.〈注意:每计算1个i ij ik l βα,,仅需1个浮点运算>
回代:第一步 nn
n
n x αβ= , 第二步 ,][1,1,11
-----=
n n n n n n x n x ααβ,
第1+-k n 步 ;1,2,,1)]
([11 -=++-=++n k x x x kk
n kn k k k k k αααβ
运算量:
消元:n 元方程组:第1步消元:对第),,3,2(n i i =行,共n —1行; 每1行:计算),,3,2(1n i l i =,1个乘除法(或“浮点运算”),
计算新的11)1(11)
1();,,,3,2(βββαααi i i j i ij ij l n j l -==-= 共 1)1(+-n 个
乘除法(或“浮点运算"),
第1次元共1]1)1(1)[1(2-=+-+-n n n 个乘除法,因此,消元的运算量
n n n n k k k n
k n k n k 6523)1()1(2312
1222-+=-=-=-∑∑∑===; 回代:第1步,求n x 需要1个乘除法(或“浮点运算”),即:第2步求1-n x 用2个乘除法(或“浮点运算”),一般,第k 步求1+-k n x 用k 个浮点运算,因此,回代的运算量 )1(2
1+=∑=n n
k n
k ;
Gauss 消去法 的 总运算量:3
323n
n n T -+= 。

例2-1:解线性方程组
⎪⎩⎪
⎨⎧=--=++=++2333220221
321321x x x x x x x x 解:利用增广矩阵(因为线性方程组的解仅与系数与右端常数项相关)
⎪⎪⎪⎭
⎫ ⎝⎛-=⇒⎪⎪⎪⎪⎭
⎫ ⎝
⎛-⎪⎪⎪⎭⎫ ⎝⎛--⎪⎪⎪⎭⎫ ⎝⎛--=→-=→=111212
131
20121211312012120313322
01212112323121x l l l 例: ⎪⎪⎪
⎭⎫ ⎝⎛---450433562112 ;解⎪⎪⎪⎪⎭
⎫ ⎝⎛-=329419x
⎪⎪⎪⎪⎪
⎭⎫
⎝⎛----⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--=⎪⎪⎪⎪⎪⎭⎫
⎝⎛------551
214712230
12120113112154212132225201144230
12
;解⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=1111x :⎪⎪⎪⎪⎪⎭⎫

⎛-⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-=
⎪⎪⎪⎪⎪⎭⎫
⎝⎛--105424
1711343
1
02112311112160185669463225713443
1
2;解 ⎪⎪
⎪⎪
⎪⎭⎫
⎝⎛-=20
51x ⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫

⎛242418246812622432116711311111902568116144642781101694124321;解⎪⎪⎪⎪



⎝⎛--=11
11x
⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-------⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛41711203213043211134123121577554435443405432304321
;解⎪⎪⎪⎪



⎝⎛=4321x ⎪⎪⎪⎪⎪⎭⎫

⎛---⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--------11253
312170
2
21130112011121411214772010143170221;⎪⎪⎪⎪
⎪⎭⎫
⎝⎛-=1121x
2。

1.2 (列)主元消去法 算法中,若第k 步:0)=kk i α
或 n k i ii ik
kk ,,1) +=<<αα
则按照原来的简单Gauss 消去法算法可能无法执行,也可能出现大误差:
例:在浮点数系)10,10,5,10(-F 中计算;方程组
⎪⎪⎭⎫ ⎝⎛=⎪⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛-2132210215x x 准确解:⎥⎦
⎤⎢⎣⎡=*499998749.025*******.0x 解:按Gauss 消去法解:
−−−−→−⎪⎪⎭


⎛*******=-6
1002000021111114
1020000.1030000.1020000.1010000.1020000.1010000.l ⎪⎪⎭


⎛*-*-***-66
11
4
1020000.1040000.1010000.1020000.1010000. T )1050000.1000000.(~00
*•=x
误差大,原因:若有误差 δββδαα+⇒+⇒k k kj kj , 则
k ik i i kj ik ij ij l l βββααα-=-=~,~,则演变为
δβδβββδαδαααik
i k ik i i ik
ij kj ik ij ij l l l l +=+-=+=+-=~
)(ˆ,~)(ˆ; 这说明前步各元素的误差均被放大ik l 倍。

克服方法,将按绝对值最大的元素交换到主元位置,使1≤ik l ,使前步的误差不再被放大。

⎪⎪⎭⎫ ⎝
⎛*****−−−−→−⎪⎪⎭


⎛******−−→−⎪⎪⎭


⎛******-↔*=--111111050000.21114111
111114
1010000.1020000.1020000.1030000.1020000.1010000.1020000.1010000.1020000.1030000.1020000.1020000.1030000.1020000.1010000.1020000.1010000.5
21l 行
行 T )1050000.1025000.(~
00*•=x
消元过程中,第k 步消元)1,,2,1(-=n k 以第k 行为基准,消去其后的
k n -个方程的ik α(系数矩阵第k 列kk α以下的元素),Gauss 消去法要求主元
0≠kk α.为避免出现0=kk α作为主元,并使前步的误差不被放大,应使1≤ik l ,为此应使:},,{,1k n k k kk kk Max αααα +=,通常采用按列选主元的列主元消去法:若},,{1k n k k kk k m Max αααα +=,便将第k 行与第m 行交换,使k m α与kk α交换位置,使新的第k 行执行在原始Gauss 消去法中的角色,保证将作为除数的主元n k i ik
kk ,,1 +=≤αα,从而1≤ik l ,重复前述的Gauss 消去过程。

列主元消去法的效果:
1. 算法稳定,即计算误差能被有效控制;
2. 当矩阵A 的行列式0≠A 时,算法总可以执行完成;
注:若矩阵A 是对称正定或严格对角占优,则不选主元,消去法也是稳定的; 矩阵严格对角占优的定义:对角元的绝对值大于该行其他元的绝对值之和,即∑≠=>n
i j j ij ii 1
αα;
问题:为什么系数矩阵A 严格对角占优时,不选主元的消去法也是稳定的? 为保证消去法是稳定的,计算应如何进行?
例2—2:列主元消去法求解例2—1

行行行322121212
7
23
2
2
32
113322
2
03101213322203133220121
31
21↔→⎪⎪⎪⎪⎪⎪⎪⎪⎭


⎛-=→=⎪⎪⎪⎪
⎪⎪⎭⎫


↔→-----⎪⎪⎪⎭
⎫ ⎝⎛--l l ⎪⎪⎪⎪⎪⎪⎪⎪⎭



-=→-⎪⎪⎪⎪⎭⎫ ⎝⎛---4
14127232
33
22232112723233222132l
同样得到原方程组的解 ()T x 111-=;
2。

2 矩阵分解
2。

2.1 Gauss 消去法的矩阵意义——矩阵的三角分解
若将Gauss 消去法解方程过程中产生的)(j i l ij >作为一个单位下三角矩阵——其对角元为1,对角线上的元素均为0——L 的对应元素;将Gauss 消去法消元过程最后得到的上三角矩阵-—对角线以下元素均为0——记作U 或U (仅考虑方程的系数矩阵部分);如例2.1,再将L 与U 或U 相乘:
⎪⎪⎪⎭⎫ ⎝⎛--=⎪⎪⎪⎪⎭

⎝⎛-⎪⎪⎪⎪⎭⎫ ⎝
⎛-=203133220121212
1312
012
11211121U L 或 112
112121
21223111301122LU ⎛⎫
⎛⎫⎛⎫ ⎪
⎪ ⎪ ⎪ ⎪=-= ⎪ ⎪ ⎪ ⎪-- ⎪ ⎪-⎝⎭⎝⎭


显然U L 相乘得到的正是原始所求解的方程的增广矩阵,而LU 相乘得到的正是原始所求解的方程的系数矩阵.反过来,一个矩阵也可以通过Gauss 求解的过程获得这样的“LU 分解”,其中L 为单位下三角矩阵,U 为上三角矩阵。

这样将一个矩阵分解成一个下三角矩阵和一个上三角矩阵的乘积形式,称为矩阵的三角(Doolittle )分解.
1) 消去法的矩阵意义: 以例2—1说明
⎪⎪⎪⎭

⎝⎛--−−−−→−⎪⎪⎪⎭⎫ ⎝⎛---===21131201212031332201211,23121l l 与以下矩阵乘法是一样的:
⎪⎪⎪⎭
⎫ ⎝⎛--=⎪⎪⎪⎭⎫ ⎝⎛--⎪⎪⎪⎭⎫ ⎝⎛-211312012120313322012111121 可见,一般的第一步消元是:
()⎪⎪⎪⎪
⎪⎭

⎝⎛=⎪⎪⎪⎪
⎪⎭⎫
⎝⎛⎪⎪⎪⎪⎪⎭⎫
⎝⎛--=111
11111111111111111
1111111
1111111
1111111~~~0~~~0111,βααβααβαααβαααβαααβααα n i l l b A L 若记第k 步消元后形成的矩阵为())()(,k k b A ,《特别:),(),()1()1(1b A b A L =》则第i 步消元是将以下初等矩阵左乘矩阵())1()1(,--i i b A 形成())()(,i i b A
⎪⎪
⎪⎪⎪⎪⎪⎪⎭

⎝⎛--=
+1111,1k n k i k l l L
因此,Gauss 消去过程从矩阵运算的角度来看,是
y)(U,b)(A,L L L L 122n 1n =--
其中 U 为上三角矩阵,y 为向量:
⎪⎪⎪⎪⎪⎭

⎝⎛=⎪⎪⎪
⎪⎪


⎝⎛=n nn n n y y y y U 21222111211,
μμμμμμ
2。

2.2 矩阵分解LU A =
注意到初等矩阵k L 具有性质: ⎪⎪
⎪⎪
⎪⎪⎪
⎪⎭
⎫ ⎝⎛=+-1111,11ni i i k l l L 及⎪⎪⎪⎪⎪⎪⎭
⎫ ⎝⎛==-------1111
1
,2
,1,2
,11,121n n n n n n l l l l l l L L L L 11n 1211 因此,我们有 ()y)(U,L y)(U,L L L b A,1
1n 1211==----
根据矩阵乘积的性质,有 LU A =
这就是基本的矩阵三角分解——Doolittle 分解——将矩阵分解为单位下三角矩阵L 与上三角矩阵U 的乘积。

从矩阵乘法与行列式的关系可知,若矩阵A 三角分解得到A=LU ,则有: det A = det L * det U ,由于下三角矩阵或上三角矩阵的行列式是全部对角元的乘积,因此可利用三角分解求矩阵对应的行列式的值.例如:上述例2.1方程组系数矩阵对应的行列式的值是-1,下例2。

3 对称正定矩阵对应的行列式的值为144。

当系数矩阵为A 的方程组可以顺利求解(不必选主元)时,解的过程显然是唯一的,因此它的Doolittle 分解必然也是唯一的,从而可以通过待定系数的方法获得该矩阵的Doolittle 分解(通常称为“直接分解”或“紧凑格式")。

2.2.3 其他三角分解
除了上述的单位下三角矩阵与上三角矩阵的乘积形式以外,还有其他类型的
分解,例如下三角矩阵和单位上三角矩阵的乘积,单位下三角矩阵与对角矩阵、单位上三角矩阵的乘积T LDM .对于对称矩阵,可以分解成T LDL 矩阵分解的形式,特别是对称正定矩阵,可以分解成T GG 形式(称为Cholesky 分解),其中G 为下三角矩阵《由Doolittle 分解的唯一性可知这些形式的分解也是唯一的》。

这些不同的分解都可以通过矩阵乘积的方法取得。

下面例2。

3以对称正定矩阵为例,说明通过矩阵乘积的方法取得矩阵分解的不同形式。

当然,当矩阵的Doolittle 分解存在唯一时,这些不同的分解分别时唯一的,因此可以通过待定系数的方法取得,也即通过直接分解的方法取得这些分解。

例2—3:
21323142434112301321420442044204420
42231133133133031373137424
24172337192109l l l l l l =-=-→→→====----⎛⎫⎛⎫⎛⎫⎛⎫
⎪ ⎪ ⎪
⎪----- ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪---- ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪--⎝⎭⎝⎭⎝⎭⎝

由此可知:
1
42044204
1122311332031370314241723191
3
12111014211113320314
11
219131124210344329⎛⎫--⎛⎫⎛

⎪ ⎪ ⎪- ⎪--- ⎪
⎪== ⎪ ⎪
⎪--- ⎪ ⎪ ⎪ ⎪ ⎪ ⎪- ⎪⎝⎭⎝⎭⎝

⎛⎫⎛⎫-⎛⎫ ⎪ ⎪
⎪- ⎪
⎪- ⎪=
⎪ ⎪
⎪- ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝
⎭⎝⎭
⎝⎭
⎛⎫ ⎪- ⎪ ⎪- ⎪ ⎝⎭1101213311
2111101222111113320312
2112133131122210
2111330322
123133⎛
⎫- ⎪ ⎪-= ⎪ ⎪⎪
⎪ ⎪⎝

⎛⎫⎛

-⎛⎫⎛⎫ ⎪ ⎪ ⎪⎪- ⎪
⎪- ⎪⎪= ⎪ ⎪
⎪⎪- ⎪ ⎪ ⎪⎪ ⎪⎪ ⎪
⎪ ⎪ ⎪⎝
⎭⎝⎭⎝⎭⎝
⎭-⎛⎫⎛⎫ ⎪⎪-- ⎪⎪ ⎪⎪- ⎪⎪ ⎪⎪⎝⎭⎝

进一步可以考察矩阵左上方各阶顺序主子式与三角分解所得矩阵的左上方的各阶顺序主子式的关系:若记矩阵A 的各阶顺序主子矩阵为¨,,)()2()1(n A A A ,同样的记号也适用于矩阵U L ,,则有(k)(k)(k)U L A =,从而矩阵A 的各阶顺序主子式的值等于U 的相应的顺序主子式的值:),,2,1()det()det()()(n k k k ==U A ,(因为1)det()(≡k L )。

以例2—3矩阵分解为例,容易得到:
1
4242414,,1124421
4204201223113203134031⎛⎫--⎛⎫⎛⎫ ⎪=*= ⎪ ⎪ ⎪--⎝⎭⎝
⎭⎝⎭⎛⎫--⎛⎫⎛⎫ ⎪ ⎪ ⎪
--=-- ⎪ ⎪ ⎪ ⎪ ⎪ ⎪-⎝⎭⎝
⎭-⎝⎭ 由此,也很容易看到,一个对称矩阵通过Gauss 消去过程得到的LU 分解(其中L 为单位下三角,U 为上三角矩阵),当U 的对角元全部为正数时,该对称矩
阵必为对称正定矩阵。

由Gauss 消去的过程可知各次主元是nn μμμ,,,2211 (矩阵U 的对角元),可知当矩阵A 的各阶顺序主子式均非零时,(原始的)Gauss 消去法可以顺利完成,这是因为当各阶顺序主子式均非零时,nn μμμ,,,2211 均非零,即Gauss 消去法可以顺利完成。

因此得:
定理2.1 若n 阶方阵的各阶顺序主子行列式均非零,则存在唯一的LU 分解,其中L 为单位下三角矩阵,U 为上三角矩阵。

进一步,当矩阵A 非奇时,列主元Gauss 消去法必可顺利完成:因为当矩阵A 非奇时,A 的第一列必不全为零,故通过选主元,可进行第一步消元,即算法A P L 11可执行,
得到011≠μ,且其下方全为零,因为,0det )det(≠=A A P L 11所以11μ的代数余子式*11det A 也非零,(0det )det(det *1111≠==A A P L A 11μ ),即矩阵*
11A 非
奇,因此下一步列主元Gauss 消去可进行,由此,可完成全部消元过程。

2.2.4 解三对角矩阵的追赶法
⎪⎩⎪⎨⎧=+>=+>⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭


⎛⨯⨯⨯⨯⨯⎪⎩⎪⎨⎧⨯
⨯⨯⨯⨯=0
:0
:ij ij q q
j i p q
i j q p αα下带宽上带宽 A
定理2.2 若Doolittle (LU A =分解), 则L (下)带宽p ,U (上)带宽q . 证明: 对二和三阶矩阵显然.(确定q p ,),对矩阵的阶作归纳证明:设对1-n 阶矩阵结论成立。


)00(,)00(,1212 ++==⎪⎪⎭
⎫ ⎝
⎛=q T p T
T w w v v w v B
v
w A α, 可验证(介绍分块运算):
⎪⎪⎭
⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛-⎪⎪⎭⎫ ⎝⎛=⎪⎪⎭⎫ ⎝
⎛=--11
111n T I w vw B I v B v
w A 1n αααα
由归纳假设,11
U L vw B 1=-T α
, 因此
⎪⎪⎭⎫ ⎝⎛⎪⎪⎭
⎫ ⎝⎛=⎪⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛=⎪⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝
⎛-⎪⎪⎭⎫ ⎝⎛=⎪⎪⎭⎫ ⎝
⎛=----1111111111111111U w L v I w U L I v I w vw B I v B v
w A 1n 1n ααααααααn n T
最后的矩阵乘法:前者是初等矩阵左乘〈实际上是Gauss 变换矩阵相乘〉,后者按分块运算容易得到。

特殊情况,1,1==q p ——三对角矩阵:
⎪⎪
⎪⎪⎪
⎪⎭


⎛=---n n
n n n b a c b a c b a c b T 111
22211
, 由前述的方法,很容易将它分解成两个特殊的下、上三角矩阵的乘积:
⎪⎪⎪⎪⎪⎭


⎛⎪⎪⎪⎪⎪⎭⎫
⎝⎛==--n n n n u c u c u c u l l l LU T 11
2
21132
1111
, 其中<因为未讲矩阵的直接分解,此处可由确定分解形式、待定系数方式取得>:
n
k c l b u u a l b u k k k k k k
k ,,3,2,
,,
11
11 =-==
=--
从而,在解方程组d Tx =,其中T n d d d d ),,,(21 =时,可以将该方程组转化为求解两个简单方程组:,,y Ux d Ly d Tx ==⇔= 通常被称为“追赶法”:
⎪⎩
⎪⎨
⎧-=-==⎩⎨⎧=-==+-,
1,2,,1)(,,,3,2111
1 n k u y c y x u y x n
k y
l d y d y k k k k
k n n
n
k k k k。

这只是Gauss 消去法的一个具体应用,在计算机上的应用可以节约存储空间,减少运算量.若手工计算,实际只需应用Gauss 消去法即可。


⎪⎪⎪
⎪⎪



⎝⎛--⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎪⎭⎫
⎝⎛--1112111211514131216517424313221 2。

3 线性方程组解的可靠性——向量与矩阵范数,误差的代数表征
3.1向量与矩阵范数
向量范数由二维或三维向量的长度概念推广而来-—工具。

1、向量范数 向量n T n R x x x x ∈=),(21 ,与之相应的一个非负实数,记作x ,如果它满足条件:
1) 非负性 n R x x x x ∈∀=⇔=≥,00,
0 ,
2) 正齐性 n R x R x x ∈∈∀=,,ααα , 3)
三角不等式 n R y x y x y x ∈∀+≤+,,;
常用的范数
1-范数 n x x x x +++= 211, 2-范数 21
22
2
212
)
(n
x x x x
+++= ,
∞—范数 ),,,max(21n x x x x
=∞

注:一般若不指某特定的范数,则范数符号不作下标,记为•;
2、矩阵范数 矩阵 )(n m R L A ⨯∈ ,与之相应的一个非负实数,记作A ,如果它满足条件:
1) 非负性 )(,00,
0n m R L A A A A ⨯∈∀=⇔=≥,
2) 正齐性 )(,,n m R L A R A A ⨯∈∀∈∀=ααα , 3) 三角不等式 )(,,n m R L B A B A B A ⨯∈∀+≤+,
4)
)(,)(,p n n m R L B R L A B A AB ⨯⨯∈∈∀≤,
因为矩阵与向量相乘仍是向量,因此:特别要求一种矩阵范数与一种向量范数:
5)n n m R x R L A x A Ax ∈∈∀≤⨯,)(,—-矩阵与范数的相容性; 与前述三种向量范数分别相容的常用的三种矩阵范数:
1—范数 ∑==n
i ij j
A 1
1max α,(最大列和)
2-范数 2
1
2(的最大特征值)A A A T
=,
∞—范数 ∑=∞=n
j ij i
A 1max α,(最大行和);
注:作为矩阵的特例——向量,这些范数定义无矛盾。

例:试证明:(a)若 是范数,M 是一个非奇异矩阵,则由Mx x
=M

义了向量n R ∈x 的一种范数;(b )对于矩阵n n R A ⨯∈,1-=MAM A M 定义了与向量范数M *相容的矩阵范数.
证明:a 。

由于 是范数,它必满足范数的三条件;由于Mx x =M
,所以
⑴ 非负性:,0≥=Mx x
M
且 0==Mx x
M
当且仅当 0Mx =,又由
M 的非奇性,当且仅当0x =时才有0Mx =,因此:0=M
x 当且仅当0x =;
⑵ 正齐性:M
M
x Mx Mx x M x
ααααα====)()(
⑶ 三角不等式:
M
M
M
y
x
My Mx My Mx y x M y
x +=+≤+=+=+)(
因此,按此定义的范数M
x 是范数;
b. 仿前,容易证明1-=MAM A M 定义了一种矩阵范数。

关于相容性: M
M M
x
A Mx MAM Mx MAM MAx Ax
11=≤==--
3、范数的等价性:
,,
1,
2
12
11∞



≤≤≤≤≤≤x
n x
x
x x
x n
x
n x x
4、矩阵谱半径: {}n i A A i i i
,,2,1,,max )( ==全体的特征值为λλρ; 有(对任何一种范数) A A ≤)(ρ ,
A A A x A Ax x x x x Ax ≤⇒≤⇒≤=≤⇒≠=)(0,ρλλλλ
2。

3.2 残向量与误差的代数表征(矩阵的条件数):
若记方程组(2。

1)的准确解*x ,近似解x ~;则有 近似解x ~的误差:T n e e e x x e ),,,(~21 =-=*, 近似解x ~的残向量:x A b r ~-=.
r 小e ⇒小?
例:⎪⎪⎭
⎫ ⎝⎛=⎪⎪⎭

⎝⎛=⎪⎪⎭⎫
⎝⎛=⎪⎪⎭⎫ ⎝⎛*
212~,
11,
500.1000.3001.1499.0000.2000.1x x x ⎪⎪⎭
⎫ ⎝⎛=-=0015.00~x A b r 比较:方程组 b Ax = 与 r b Ax -=,从前者到后者仅是右端b 产生误差
r -,而对应的解则由*x 变为x ~,即也产生误差e ;它们之间有关系:
b
r A A x
e 1
-*
≤ ;
注意以上公式:由b
1
A x 1x
A Ax b Ax b ≤⇒
≤=⇒=,以及 r A e r A e Ae )x A(x x A Ax x A b r 11--**≤⇒=⇒=-=-=-=~~~ 得到. 此处,1-A A 从本质上反映了方程组右端的相对误差b
r
导致解的相对
误差
*
x
e 的数值关系,反映了方程组原始数据发生扰动时,方程组解发生变化
的大小。

比较前已提到的“问题的性态”,数1-A A 反映了方程组的性态。

因此称此数为方程组或矩阵的“条件数”,记作 1)(-=A A A Cond ;由于总有1)(≥A Cond (实际上,除了I A =外,几乎总有1)(>A Cond )
,而从推导可知
,b r A A x e 1~-*(此处“~”表示“相当于”),因此一般总有b r x e >
*; 上例中:3001003.0/001.33000.1499.0000.2001.1003.01
1=⨯=⎪⎪⎭

⎝⎛--=

-∞-A A A
对于更一般的矩阵A 和右端向量b 均发生扰动ΔA 和Δb 的情况,有
Hilbert Matrix
2.4 线性方程组的迭代解法
迭代法:将方程组 b Ax =(2。

1)转化为等价的形式
)3.2(,
d Gx x +=
从而,将向量),1,0( =k k x 代入(2.4)的右边,可计算得到一个新的值1+k x : )3.2(,
'+=+d
Gx x k 1k
如此反复地进行,便得到向量序列{}
,1,0,=k x k ;
问题 I)如何将方程组(2。

1)的形式转化为(2.3)?
II )给定初始向量0x ,迭代)3.2('产生的向量序列{}k x 是否收敛?
III )向量序列{}
k x 的收敛性与初始向量0x 的选取是否相关? IV )如果收敛,如何估计误差?
2.4.1 基本迭代法 首先我们回答问题 I):
由方程组(2。

1):b Ax =,使等式左端仅保留向量x ,其他一概放到右端,即:将方程组的第i 个方程(设0≠ii α,n i ,,2,1 =) 改成:
i n in i i i i i i i i i ii x x x x x x βαααααα+-------=++-- 111
12211,
再将此式遍除ii α便得:
()i n in i i i i i i i i ii i x x x x x x βαααααα+-------=++-- 111122111
从而原方程组可改写成如下等价形式:
()()()⎪⎪⎪⎪⎩
⎪⎪⎪
⎪⎨
⎧+----=+----=
+---=--)4.2(,1111122112232312122211212111n n nn n n nn n n n n n x x x x x x x x x x x βααααβααααβααα Jacobi 迭代:将T k n k k k x x x x ),,,(21 =代入上式右端,便可(按顺序逐行)进行计算得到 T k n k k k x x x x ),,,(112111++++= ,这便是Jacobi 迭代:
⎪⎪⎪⎪⎩
⎪⎪⎪
⎪⎨
⎧+----=+----=
+---=--+++)5.2(,)(1)(1)(111221112232312122121121211
11
n k n nn k n k n nn k n k n n k k k k
n n k k x x x x x x x x x x x βααααβααααβααα Gauss-Seidel 迭代:按通常的串行计算方式,迭代(2。

5)中先计算第一式
得到11+k x ,此数完全可以参与第二式的右端的计算,依次类推,便得到:
⎪⎪⎪⎪⎩
⎪⎪⎪
⎪⎨
⎧+----=+----=+---=+--++++++)
6.2()(1)(1)(111112211112232311212212112121111n k n nn k n k n nn k n k n n k k k k
n n k k x x x x x x x x x x x βααααβααααβααα 这就是Seidel Gauss -迭代. 2.4.2 迭代法的矩阵表示
将方程组(2.1)的系数矩阵A 分裂成三部分:F E D A --=,其中
,0000,0000,211221212211⎪⎪
⎪⎪⎪
⎭⎫
⎝⎛=-⎪⎪⎪⎪⎪⎭
⎫ ⎝⎛=-⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=
n n n n nn αααααααααF E D
显然,不同的迭代方法是对矩阵A 做不同的分裂得到的:
Jacobi 迭代:b x F E Dx b Ax F E D A =+-⇔=⇒+-=][][ b D x F E D x b x F E Dx 11][][--++=⇒++=⇒
Gauss-Seidel 迭代:b Fx x E D b Ax F E D A =--⇒=⇒--=][][
b
E D Fx E D x b Fx x E D 11][][][---+-=⇒+=-⇒
2.4。

3 收敛性
以下我们回答问题II )和III ):
记方程组的解为*x ,若当∞→k 时向量序列{}
k x 收敛于方程的解*x , 即
*lim x x k k =∞
→,有等价关系(注意到范数的等价性):
000max 0**
***→-⇔→-⇔→-⇔→-⇔→∞
x x x x x x x x x x k k i k i i
k k
由于*x 满足关系式 d Gx x +=**,将它与一般迭代)4.2(':d Gx x k k +=+1,两者相减,可得 )(**1x x G x x k k -=-+,遍取向量范数,并由矩阵范数与向量范数的相容性,可得:
*
*1x x G x x k k -≤-+
从而,
*01
*12
**1x x G
x x G
x x G x x k k k k -≤-≤-≤-+-+
由此可见,当1<G 时,无论0x 如何取,总有0*→-x x k ,即:*x x k →;即
定理2。

3:迭代d Gx x k k +=+1 取任意初值0x 生成的向量序列{}
k x 当∞→k 时收敛于方程的解*x 的充分条件是1<G .
具体化-—考察对原始问题(2.1)进行Jacobi 迭代或Seidel Gauss -迭代时,迭代收敛对矩阵A 的要求.
由式)5.2()4.2(''可知,Jacobi 迭代的迭代矩阵为)(1F E D +-,Seidel Gauss -迭代的迭代矩阵为 F E D 1)(--;
由于)(1
F E D +-的第i 行是:(ii
in
ii
i i ii
i i ii i αααααααα
111
+-);因 此,显而易见当A 为严格对角占优时该行各元素的绝对值之和小于1,所以:
1)
(1<+∞
-F E D ;结论是:
推论 2.4: 若方程组(2.1)的系数矩阵A 严格对角占优,则任取初值的
Jacobi 迭代收敛。

其他结论:
定理2。

5: 若方程组(2.1)的系数矩阵A 严格对角占优,则任取初值的
定理2。

6: 若方程组(2.1)的系数矩阵A 对称正定,则)i 任取初值的Seidel Gauss -迭代收敛;)ii 当A D -2正定时,Jacobi 迭代收敛,
否则就不收敛. 最后,有:
定理2。

8:迭代)3.2('收敛的充分必要条件是矩阵G 的谱半径1)(<G ρ。

例:关于充分性:⎩⎨
⎧=+=+1101
21
21x x x x
Jocabi:?1)
)1011101
11
1=+=+⇒⎪
⎪⎭
⎫ ⎝⎛+⎪⎪⎭⎫


--=∞
--+F (E D F (E D x x 11k k
令,
000
⎪⎪⎭

⎝⎛=x 则,0101,101,,01011,101121221
⎪⎪⎭⎫ ⎝⎛-=⎪⎪⎭⎫ ⎝⎛=⎪
⎪⎭⎫ ⎝⎛-=⎪⎪⎭
⎫ ⎝⎛=---k k k k x x x x 因此,总有 ()T k 01lim =x ,但并不满足定理的充分条件。

例:0,22112122211211≠⎪
⎪⎭

⎝⎛=⎪⎪⎭⎫ ⎝⎛ααββααααx , 解此方程的Jacobi 迭代与Gauss-Seidel 迭代有相同的敛散性;
例:讨论下述方程b Ax =的Jacobi 迭代与Gauss —Seidel 迭代的敛散性,
⎪⎪⎪⎭

⎝⎛---=⎪⎪
⎪⎭
⎫ ⎝⎛-=211222112)
122111221)
A A ii i

0)(221122)det(022101220)3
=⇒=-=-⇒⎪⎪⎪


⎝⎛-----=J J I J ρλλλλλi
又, ()[]()[]
0]([det det )det(1
1
=---=--=---F E)D E D GS I λλλF E D I 等价于
解:
[]2
23)2(442212
2(det -=+-=-=--λλλλλλ
λλλλλλF E)D 2)(=⇒GS ρ ;
结论:Jacobi 迭代收敛,Gauss —Seidel 迭代不收敛.
25
)(452121112121)det(0212110121210)3=
⇒+=---=-⇒⎪⎪⎪⎪⎭
⎫ ⎝⎛---=J J I J ρλλλλλλii
[]2
1
)()12(228822221
12(det 223=⇒+=++=---=--GS F E)D ρλλλλλλ
λ
λ
λλ
λ
λ结论:Jacobi 迭代不收敛,Gauss —Seidel 迭代收敛。

例:⎪⎪⎪

⎫ ⎝⎛=201041063432A 正定,A D -2不正定, Seidel 收敛,Jacobi 不收敛.
例:1
523131336,
162215332411<⇒
⎪⎪⎪⎭

⎝⎛=<⇒
⎪⎪⎪

⎫ ⎝⎛--=J A J A
例:⎪⎪


⎫ ⎝⎛=111a a a a a a A 证明:121<<-a 时Seidel 迭代收敛,仅当2121<<-a
时Jacobi 迭代收敛.
证:i. 121<<-a 时A 正定:
1011
1,0122<⇒>-==
>=a a a a
A A 1 ,
2
10)21()1(2312323->⇒>+-=+-==a a a a a A A 综上,121<<-a 时A 正定,所以Gauss —Seidel 迭代收敛;
ii .12)()21()()det(2<=⇒+-=-I ⇒⎪⎪⎪⎭
⎫ ⎝⎛
------=a a a J a a a a a a J J ρλλ
所以,(当且)仅当2121<<-a 时Jacobi 迭代收敛。

〈⎪⎪⎪

⎫ ⎝⎛------=-1112a a a a a a A D 正定:0)21()1(13)2det(22>-+=+--=-a a a 32a A D
211<<-∴a 正定;综合A 正定条件,得结论。

但这是在A 正定的前提下的结 论,如果A 不正定,条件是否仍如此?
例:⎪⎪⎪

⎫ ⎝⎛=10202a b b a A ,以b a ,表示解b Ax =的Jacobi 、Gauss-Seidel 迭代收敛
的充分必要条件;
I :Jacobi 迭代:
λλλλλλab a b b a a b b a (43222)det(,222
)31-==-⎪
⎪⎪⎪⎭⎫ ⎝⎛----=+=-J I F E D J ⇔<

=
∴3
4
2
3
)(ab ab
J ρ Jacobi 迭代收敛; II:Gauss-Seidel 迭代:
()[]()[]
0]([det det )det(1
1
=---=--=---F E)D E D GS I λλλF E D I 等价
于解:
[]ab ab ab a b b a 4
3
)()43(434020
2(det 223=⇒-=-==--GS F E)D ρλλλλλλλλλλ
⇔<
∴3
4
ab Gauss —Seidel 迭代收敛。

2.4.4 迭代终止的判据
定理2。

9: 迭代d Gx x k k +=+1,若1<=q G ,则任意取初值0x 生成的向量序列{}
k x 当∞→k 时收敛于方程的解*x ,且有误差估计:
01*1x x q
q x x k k
--≤- 或 k k k x x q x x --≤
-+1*11 ; 证:由前定理2.6可知,迭代d Gx x k k +=+1对任选初值0x 总收敛,又由
k
k k m m m m m m m m m x x q x x q x x G Gx Gx x x -≤-≤-≤-=-+----+11111 及
011x x q x x k k k -≤-+
k
k k m k
k k m k
m m
k
j j
j k
m x x q
q x
x
q q
q
x
x
x
x
---=-+++≤-≤-++-+---=++∑1
11
1
1
1
11)1( 令∞→m ,便得结论。

注1:前者称为“先验估计”,后者称为“事后估计”;但由证明的过程可知,这些估计实际上是“误差界"的估计;
迭代法通常要求计算获得的解满足给定的误差界:ε≤-*x x ~ : ● 先验估计:对要求的误差界ε,由估计式 ε≤--≤
-01*1x x q
q
x x k
k 可计算得 q
x x q k lg )
)1(lg(01--≥ε,
从而,可将由此所得的k 作为迭代步数的最大控制数,取k x x =~
; ● 事后估计:对要求的误差界ε,由估计式
ε≤--≤
-+k k k x x q
x x 1*11
可知,在迭代计算过程中,应验证不等式
ε≤-+k k x x 1 是否满足,如果满足,迭代就可终止,取k x x =~。

在实际计算中,通常将上述两种终止判据同时使用.
注2:对于系数矩阵A 严格对角占优的Seidel Gauss -迭代,可用定理2。

8定义的μ作为收敛因子(即取μ=q ),当然此时应取∞-范数;。

相关文档
最新文档