线性方程组的直接解法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章线性方程组的直接解法
2.1实验目的
理解线性方程组计算机解法中的直接解法的求解过程和特点,学习科学计算的方法和简单的编程技术。
2.2概念与结论
1. n阶线性方程组
如果未知量的个数为 n ,而且关于这些未知量x1,x2, …,x n的幂次都是一次的(线性的)那末, n 个方程
a11x1+a12x2+ … +a1n x n=b1
┆┆┆ (1)
a n1x1+a n2x2+ … +a nn x n=
b n
构成一个含n个未知量的线性方程组,称为n阶线性方程组。其中,系数a11,…,a1n,a21, …,a2n, …,a n1, …,a nn 和b1, …,b n都是给定的常数。
方程组(1)也常用矩阵的形式表示,写为
Ax=b
其中,A是由系数按次序排列构成的一个n阶矩阵,称为方程组的系数矩阵,x和b都是n维向量,b称为方程组的右端向量。
2. n阶线性方程组的解
使方程组(1)中每一个方程都成立的一组数x1*,x2*, …,x n*称为式(1)的解,把它记为向量的形式,称为解向量.
3.一些特殊的线性方程组
1) 上三角方程组
2) 三对角方程组
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎭
⎫
⎝
⎛
=
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎭
⎫
⎝
⎛
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎭
⎫
⎝
⎛
-
-
-
-
-
n
n
nn
n
n
n
n
n
n
n
n
b
b
b
x
x
x
a
a
a
a
a
a
a
a
a
a
a
a
2
1
2
1
1
1
1
2
1
2
23
22
1
1
1
13
12
11
4.矩阵的Doolittle 分解
5.Doolittle 分解的紧凑格式
6.矩阵的Crout 分解
⎪⎪⎪⎪⎪⎪⎪⎪⎭
⎫
⎝⎛=⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝
⎛--n n n n n n d d d x x x b a c b c b a c b a c b
21
2111333
22211⎪⎪⎪⎪
⎪⎭
⎫
⎝
⎛⎪⎪⎪⎪⎪⎭⎫
⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛nn n n n n nn n n n n u u u u u u l l l a a a a a a a a a
222
11211
2
1
21
2
1
2222111211111
⎪⎪⎪⎪
⎪⎭
⎫
⎝
⎛⎪⎪⎪⎪⎪⎭⎫
⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛11
1
21122
1
2221
11
2
1
2222111211
n n nn n n nn n n n n u u u l l l l l l a a a a a a a a a ⎪⎪⎪⎪⎪
⎪⎭
⎫
⎝⎛nn n n n n
n n u l l l u u l l u u u l u u u u
3
2
1
333323122322211131211
2.3程序中Mathematica 语句解释
1.MatrixForm[a] 以矩阵的形式显示a
2.Table[Random[Integer,{xa,xb}],{n}] 产生xa 到xb 之间的n 个随机整数的向量 3. x=Table[0,{n}] 定义变量x 为n 维向量 4. a=Table[0,{n},{n}] 定义变量a 为n ⨯n 矩阵
5. Timing[expr] 给出计算表达式expr 所用的计算机时间
2.4 方法、程序、实验
解线性方程组的直接法是用有限次运算求出线性方程组 Ax=b 的解的方法。线性方程组的直接法主要有Gauss 消元法及其变形、LU(如Doolittle 、Crout 方法等)分解法和一些求解特殊线性方程组的方法(如追赶法、LDLT 法等)。这里只给出Gauss 消元法、Doolittle 分解法和追赶法的构造过程及程序。
1. Gauss 消元法
1) Gauss 消元法的构造过程
Gauss 消元法是一个古老的直接法,由它改进得到的选主元的消元法,是目前计算机上常用于求低阶稠密矩阵方程组的有效方法,它是通过消元将一般线性方程组的求解问题转化为三角方程组的求解问题的。Gauss 消元法的求解过程可分为两个阶段:首先,把原方程组化为上三角形方程组,称之为“消去”过程;然后,用逆次序逐一求出三角方程组(原方程组的等价方程组)的解,并称之为“回代”过程,其“消去”和“回代” 两个过程如下: 消去过程
第一步: 设a 11≠0,取 m i1=-a i1/a 11 , 做(消去第i 个方程组的x 1)操作: m i1⨯第一个方程+第i 个方程 i=2,3,…n
则第i 个方程变为
第一步消元后的方程组变为
)1()1(2)1(1)1(21i n b x a x a x a in
i i =+++ i
i
ij ij i i i j i ij ij
b b a a b m b b a m a a ==+=+=)
0()
0()0(11)0()1()0(11)0()
1(,,,