用高斯消元法求解线性代数方程组.(优选)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用高斯消元法求解线性代数方程组
1234111
5
-413-2823113-2104151
3-21719x x x x ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥
⎢⎥⎢⎥⎢⎥
⎣⎦⎣⎦⎣⎦ 1111X *⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦
(X*是方程组的精确解)
1 高斯消去法
1.1 基本思想及计算过程
高斯(Gauss )消去法是解线性方程组最常用的方法之一,它的基本思想是通过逐步消元,把方程组化为系数矩阵为三角形矩阵的同解方程组,然后用回代法解此三角形方程组得原方程组的解。
为便于叙述,先以一个三阶线性方程组为例来说明高斯消去法的基本思想。
⎪⎩⎪
⎨⎧=++II =++I =++III)
(323034)(5
253)(6432321
321321x x x x x x x x x 把方程(I )乘(2
3
-
)后加到方程(II )上去,把方程(I )乘(2
4-
)后加到方程(III )上
去,即可消去方程(II )、(III )中的x 1,得同解方程组
⎪⎩
⎪
⎨⎧=+-II -=-I =++III)
(20
223)(445.0)(6
4323232321x x x x x x x
将方程(II )乘(
5
.03
)后加于方程(III ),得同解方程组: ⎪⎩
⎪
⎨⎧-=-II -=-I =++III)
(42)(445.0)(6432332321x x x x x x
由回代公式(3.5)得x 3 = 2,x 2 = 8,x 1 = -13。
下面考察一般形式的线性方程组的解法,为叙述问题方便,将b i 写成a i , n +1,i = 1, 2,…,n 。
⎪⎪⎩
⎪⎪
⎨⎧=++++=++++=+++++++1,3322111
,223232221211,11313212111n n n nn n n n n n n n n n a x a x a x a x a a x a x a x a x a a x a x a x a x a
(1-1)
如果a 11 ≠ 0,将第一个方程中x 1的系数化为1,得
)
1(1,1)1(12)1(121+=+++n n n a x a x a x
其中)0(11
)
0()1(1a
a a
ij
j
=
, j = 1, …, n + 1(记ij ij a a =)
0(,i = 1, 2, …, n ; j = 1, 2, …, n + 1)
从其它n –1个方程中消x 1,使它变成如下形式
⎪⎪
⎩
⎪⎪⎨⎧=++=++=++++++)1(1,)1(2)1(2)
1(1
,2)1(22)1(22)
1(1,1)1(12)1(121n n n nn n n n n n n n a x a x a a x a x a a x a x a x
(1-2)
其中n i a m a a
ij i ij ij ,,2)1(1)
1( =⋅-=,1,,3,211
)1(1
1+==
n j a a m i i
由方程(1-1)到(1-2)的过程中,元素11a 起着重要的作用,特别地,把11a 称为主元素。
如果(1-2)中0)
1(22≠a ,则以)
1(22a 为主元素,又可以把方程组(1-2)化为:
⎪⎪
⎪
⎩⎪⎪⎪⎨⎧=++=++=+++=+++++++)2(1
,)2(3)2(3)
3(1,3)2(33)2(33)
2(1
,2)2(23)2(232)
1(1,1)1(12)1(121 n n n nn n n n n n n n n n n a x a x a a x a x a a x a x a x a x a x a x (1-3)
针对(1-3) 继续消元,重复同样的手段,第k 步所要加工的方程组是:
⎪⎪
⎪⎪
⎪⎩
⎪⎪
⎪
⎪⎪⎨⎧=++=++=+++=+++=++++-+---+---+-----++)
1(1,)1()1()
1(1,)1()1()
1(1,1)1()1(11)
2(1
,2)2(23)2(232)
1(1,1)1(13)1(132)1(121 k n n n k nn k k nk k n k n k nn k k kk k n k n k kn k k k k n n n n n n a x a x a a x a x a a x a x a x a x a x a x a x a x a x a x
设0)
1(≠-k kk
a ,第k 步先使上述方程组中第k 个方程中x k 的系数化为1: )
(1,)()(1,k n k n k kn k k k k k a x a x a x ++=++
然后再从其它(n - k )个方程中消x k ,消元公式为:
⎪⎪⎪
⎩⎪⎪
⎪⎨⎧+=++=⋅-=++==----n
k i n k j a a a a n k k j a a a k kj
k ik k ij k ij k kk k kj
k kj ,11,,11,,1,)
()1()1()()
1()
1()( (1-4) 按照上述步骤进行n 次后,将原方程组加工成下列形式:
⎪⎪
⎪⎩
⎪⎪⎪⎨
⎧==+=+++=+++++-+---++)(1,)
1(1,1)1(1)
2(1
,2)2(23)2(232)1(1,1)1(13)1(132)1(121 n n n n n n n n n nn n n n n n n n a x a x a x a x a x a x a x a x a x a x
回代公式为:
⎪⎩
⎪
⎨⎧-=-==∑+=++1
,,11
)()
(1,)
(1
, n k x a
a x a x n
k j j
k kj k n k k n n n
n (1-5)
综上所述,高斯消去法分为消元过程与回代过程,消元过程将所给方程组加工成上三角
形方程组,再经回代过程求解。
由于计算时不涉及x i , i = 1, 2, …, n ,所以在存贮时可将方程组AX = b ,写成增广矩阵(A,
b )存贮。
下面,我们统计一下高斯消去法的工作量;在(1-4)第一个式子中,每执行一次需要