第二章 线性方程组的数值解法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章 线性方程组的数值解法
在科技、工程技术、社会经济等各个领域中很多问题常常归结到求解线性方程组。例如电学中的网络问题,样条函数问题,构造求解微分方程的差分格式和工程力学中用有限元方法解连续介质力学问题,以及经济学中求解投入产出模型等都导致求解线性方程组。
n 阶线性方程组的一般形式为
⎪⎪
⎩⎪⎪⎨
⎧=+++=+++=+++n
n nn n n n n n n b x a x a x a b x a x a x a b x a x a x a L K K K K L L 22112
222212********* (1.1) 其矩阵形式为
b Ax = (1.2) 其中
⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥
⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥
⎥
⎥⎥⎦⎤⎢
⎢⎢⎢⎣⎡=
n n nn n n n n b b b b x x x x a a a a a a a a a A M M L K K K K L L 2121212222111211
),,2,1,(n j i a ij L =,),,2,1(n i b i L =均为实数,i b 不全为0,且A 为非奇异。
关于线性方程组的数值解法一般分为两类:
1.直接法 就是不考虑计算机过程中的舍入误差时,经有限次的四则运算得到方程组准确解的方法。
而实际中由于计算机字长的限制,舍入误差的存在和影响,这种算法也只能求得线性方程组的近似解。本章将阐述这类算法中最基本的消去法及其某些变形。这些方法主要用于求解低阶稠密系数矩阵方程组。
2.迭代法 从某个解的近似值出发,通过构造一个无穷序列,用某种极限过程去逐步逼近线性方程组的精确解的方法。本章主要介绍迭代法与迭代法。迭代法是解大型稀疏矩阵(矩阵阶数高而且零元素较多)的线性方程组的重要方法。
§1 高斯)(Gauss 消去法
1.1 Gauss 消去法
Gauss 消去法是将线性方程组化成等价的三角形方程组求解。首先举例说明Gauss
消去法的基本思想和过程。
例1 解线性方程组
⎪⎩⎪
⎨⎧=−+=+−=−+2
24056242321
321321x x x x x x x x x (1.3)
解 用 2
1
−
乘第一个方程的两端并加至第二个方程,然后用2−乘第一个方程两端加至第三个方程,得同解方程组
⎪⎩
⎪
⎨
⎧−=+−−=+−=−+102736362423232321x x x x x x x (1.4) 再消去第三个方程中的变量2x ,又可得到与(1.4)等价的方程组
⎪⎩
⎪
⎨⎧−=−−=+−=−+3123636242332321x x x x x x (1.5)
这是一个三角形方程组。这时,我们可从(1.5)的第三个方程解出3x ,然后回代第二个方程解出2x ,继续回代到第一个方程,则解为
T x )4
1
,23,41(=
上述解方程组的方法就是Gauss 消去法。一般地求解n 阶线性方程组(1.1)的步骤由如下1−n 步组成
将( 1.2)记为)0()
0(b x A
=,)(0
)0(ij a A =,0)0(i b b =。其中
)0()0()0()|()|(A b A b A ==
第一步 设0)
0(11
≠a
,记),,3,2()0(11
)
0(11n i a a l i i L ==。用1i l −乘)0(A 的第一行加到
第i 行上,将第一列的元素13121,,,n a a a L 消为零,得
⎥⎥⎥
⎥⎥⎦
⎤
⎢⎢⎢⎢⎢⎣⎡==)1()
1()1(2
)
1(2)
1(2)1(22)0(1)
0(1)0(12)0(11)1()
1(00
)|(n nn n n
n b a a b a a b a a a b A
A L L L
L L L
L L (1.6) 式中)
0(1)0()1(ij i ij ij a l a a −=,),,3,2,()0(1)0()
1(n j i b l b b i i i i
L =−=。
第二步 设0)
1(22
≠a
,记),,4,3()1(22
)1(2
2n i a a l i i L ==,将)1(A 的第二列元素
)1(2)1(42)1(32,,,n a a a L 消为零,完成第二次消元。仿此继续进行消元,假设进行了1−k 步,
得到
⎥⎥⎥
⎥
⎥⎥
⎥⎥⎦
⎤
⎢⎢⎢⎢⎢
⎢⎢⎢⎣
⎡==−−−−−−−)1()1()
1()
1()
1()
1(2
)1(2)1(2)1(22)0(1)0(2)0(1)0(12)
0(11)1()
1()
1(0
000000)|(n k nn k nk k kn k kk n k
n k k k k b a a a a b a a a b a a a a b A
A
L
L
L L L
L
L L L
L L L L L L L L L L L L (1.7)
一般第k 步)
11(−≤≤n k
设0)
1(≠−k kk
a ,计算乘数
),,1()1()
1(n k i a a l k kk
k ik ik L +==−−,将)1(−k A 的第k 列的元素)
1()1(1,,−−+k nk
k k k a a L 消为零,完成1−n 次消元后,我们可得到上梯形矩阵
⎥⎥⎥
⎥⎥⎦
⎤
⎢⎢⎢⎢⎢⎣⎡==−−−−−)1()
1()
1(2)1(2)1(22)0(1)
0(1)0(12)0(11)1()
1(1
)|(n n n nn
n
n n n n b a b a a b a a a b A
A
L L L
L L L
L L (1.8) 其中,
⎪⎩⎪⎨⎧−=−===−−−−−−)
1()1()()1()1()()
()1()1(,0
,/k k ik k i
k i k kj ik k ij k ij k ik k kk k ik ik b l b b a l a a a a a l n k j i ,,1,L += (1.9) 式中的元素)
1(−k kk
a 称为(第k 步)的约化主元素,显然第k 步消元可以进行的条件是