高斯消元法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
求解线性方程组的直接解法
5.1 Gauss 消去法
① 三角方程组
先举一个简单的例子来说明消去法的基本思想.
例1. 用消去法解方程组
⎪⎩⎪
⎨⎧=+-=-=++(3)
.122(2)
,54(1)
,6321
32321x x x x x x x x 解 第一步.将方程(1)乘上-2加到方程(3)上去,消去(3)中的未知数1x ,得到 (4)
.11432-=--x x 第二步.将方程(2)加到方程(4)上去,消去方程(4)中的未知数2x ,得到与原方程组等
价的三角形方程组
(5)
.62
,54 ,6332321⎪⎩
⎪
⎨⎧-=-=-=++x x x x x x 显然,方程组(5)是容易求解的,解为.)3,2,1(T x =*
上述过程相当于
332331 (-2) 6-56 20014011111-56 140140111156 122140111)|(r r r r r r b A →+→+⨯⎪⎪
⎪
⎭⎫ ⎝⎛--→⎪⎪⎪⎭⎫ ⎝⎛---→⎪⎪⎪⎭⎫ ⎝⎛--=
其中用i r 表示矩阵的第i 行.
下面我们讨论求解一般线性方程组的高斯消去法. 一般地
⎪⎪⎩⎪⎪⎨⎧==++=+++n
n nn n n n n b x a b x a x a b x a x a x a 2
222211212111
当a 11a 22…a nn ≠0时,可解出 x n =b n /a nn for k=n-1:1 x k =(b 1- a k,k+1x k +1-…- a kn x n )/ a kk end
注: k k b x ,可用同一组单元.并可解出一个未知数即代入其它方程消去该未知数
Gauss 消元法的流程图为: 流程图中,,(,1,2,...,)ij i a b i j n 分别为线性方程组的系数矩阵和常数向量;
k 是循环次数。
② 顺序消去法
一般地,k =1对n 阶方程组消去第k 个元(a kk ≠0):
⎥⎥⎥⎥⎥⎦
⎤⎢⎢⎢
⎢⎢
⎣⎡→
⎥⎥⎥⎥⎥⎦⎤⎢⎢
⎢⎢⎢
⎣⎡++++++++++++++n k k nn
k n n n k k k k k kn
k k kk
n k k nn
k n nk
n k k k k k kn
k k kk b b b a a m a a m a a a b b b a a a a a a a a a
11
,1,11
,1,11,11,,11,1,11,)()(
这里各行变换:i 行-k 行×m ik ,其中m ik =a ik /a kk ,i =k +1,…,n 而后, k =2对n -1阶方程组
消第2个元…我们有如下顺序消元算法:
for k=1:n -1 if a kk ≠0 for i =k +1:n m ik =a ik /a kk i 行=i 行-k 行×m ik end else stop end end
(每行包括右端项!)可细化,也可存储m ik 于a ik 得:
for k=1:n -1 if a kk ≠0 for i =k +1:n a ik =a ik /a kk for j=k+1:n a ik =a ik -a ik ×a kj end b i =b i -a ik ×b k end else stop end end
顺序消元过程和回代过程连起来就可得精确解.顺序消元算法也可将系数矩阵和右端项分开:
for k=1:n -1 if a kk ≠0 for i =k +1:n a ik =a ik /a kk for j=k+1:n a ik =a ik -a ik ×a kj end end else stop end end (注意m ik 在a ik ) for k=1:n -1 for i =k +1:n b i =b i -a ik ×b k end
end
Gauss 消去法运算量
消去第k 个元素时,对矩阵作加法和乘法运算各(n-k )×(n-k )次,除法(n-k )次.对右端作加法和乘法运算各(n-k )次.分别共12+22+…+(n -1)2=n (n -1/2)(n -1)/3和1+2+…+(n-1)=n (n -1)/2次加法乘法,消元时还有1+2+…+(n-1)= n (n -1)/2次除法.另外回代过程中加法和乘法运算各n (n -1)/2次,除法n 次.运算量主要是消元的贡献,加法和乘法运算各约n 3/3. 定理1.设Ax=b ,其中A .R n n ⨯∈
(1) 如果),,1,2,(k 0)
(n a k kk =≠则可通过Gauss 消去法将Ax=b 约化等价的三角形方程组⎥⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡)()2(2)1(121)()2(2)2(22)
1(1)1(12)1(11n n m n nn n n b b b x x x a a a a a a , 且计算公式为:
(a) 消元过程
设0)(≠k kk a ,对1,,2,1-=n k 计算
n
k k j i b m b b a m a a a a m k k ik k i k i
k kj
ik k ij k ij k kk k ik ik ,,2,1,/)
()()1()
()()
1()
()( ++=⎪⎩⎪⎨⎧-=-==++ (b) 回代过程
1
,2,,1/)(/1)
()()()
()( -=⎪
⎩
⎪⎨⎧-==∑+=n i a x a b x a b x n i j i ii j i ij i i i n nn n n n (2) 如果A 为非奇异矩阵,则可通过Gauss 消去法(及交换两行的初等变换)将方程组Ax=b 约化为
⎥⎥⎥
⎥⎥⎦
⎤⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤
⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣
⎡)()2(2)1(121)()2(2)2(22)
1(1)1(12)1(11n n m n nn n n b b b x x x a a a a a a .
行列式和逆矩阵
易知顺序消元过程中,行列式不变.因此det (A )=det (U )=u 11u 22…u nn ,这里U 是顺序消元过程结束时的上三角矩阵.A 的顺序主子式。也是同样情况,即有det (A k )=det (U k )=u 11u 22…u kk .。顺便指出,消第k 个元素时,左上角的元素(称之为