列主元素消去法求解方程组
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
列主元素消去法求解方程组
[摘 要]在自然科学和工程中有很多问题的解决归结为求解线性方程组或者非线性方程组的数学问题。例如,电学中的网络问题,用最小二乘法求实验数据的曲线拟合问题,三次样条的插值问题等等。求解线性方程组的直接法主要有选主元高斯消去法、平方根法、追赶法等。列主元素消去法既是选主元高斯消去法的一种,也是实际计算中常用的部分选主元消去法。本文即是讨论利用列主元素消去法求解线性方程组问题。
[关键词]按列选主元 交换 消元 回代
一 列主元素消去法背景
在科学研究和工程技术中有许多问题可归结为求解线性代数方程组,其中所产生的线性方程组,其系数矩阵大致可分为两种:一种是低阶稠密矩阵;另一类是大型稀疏矩阵(此类矩阵阶数高,但零元素较多)。对于这两种矩阵,我们可以把线性代数方程组的数值解法大致的分为两类:直接法和迭代法。迭代法一般用来求解大型稀疏矩阵方程组(本文不予讨论);直接法是目前计算机上解低阶稠密矩阵的有效方法,如果计算过程中没有舍入误差,则此种方法通过有限步四则运算可求的方程组的精确解,但实际计算中由于舍入误差的存在和影响,这种方法也只能求得方程组的近似解。直接法主要有选主元素高斯消去法、平方根法、追赶法等。本文所要讨论的列主元素消去法就是选主元素高斯消去法中的一种。
高斯消去法是一个古老的求解线性方程组的方法,也是解线性方程组问题中较为常见的一种数值方法。但在采取高斯消去法解方程组时,当采用绝对值很小的主元素时,可能导致计算结果的失败,故在消去法中应避免采用绝对值很小的主元素。对于一般的线性方程组,需要引进选主元的技巧,即在高斯消去法的每一步应该在系数矩阵或消元后的低价矩阵中选取绝对值最大的元素作为主元素,保持乘数1 ik m ,以便减少计算过程中舍入误差对计算解的影响。
选主元素消元法则是对高斯消去法的改进,是解低价稠密矩阵方程组的有效方法。选主元素消元法则避免了采用绝对值很小的主元素。选主元素消去法主要有完全主元素消去法与列主元素消去法两种。完全主元素消去法即是每次按行列选取绝对值最大的元素作为主元素,进行行列交换,之后再完成消元计算。在完全主元素消去法计算过程中舍入误差能得到有效的控制,对计算的影响较小,具有更好的数值稳定性。
列主元素消去法则是对完全主元素消去法的又一次改进。列主元素消去法在完全主元素消去法的基础上减少了在选主元素时所要花费的一定的计算时间。此论文将介绍列主元消去法的基本思想和原理。
二 列主元素消去法的理论基础
设有线性方程组
b =Ax
其中,A 为非奇异矩阵。
方程组的增广矩阵为
⎥⎥⎥⎥⎥⎥⎦
⎤⎢
⎢⎢
⎢⎢⎢⎣⎡=n nn
n n k i n n b a a a a b a a a b a a a A
2
12222
211112111]b ,[ 首先在A 的第1列选取绝对值最大的元素作为主元素,即选择 0max 111,1≠=≤≤i n
i i a a
然后交换A 的第1行与第1i 行(交换后增广矩阵为简单起见仍记为]b ,[A ,其元素仍记为
i j i b a ,)。经过第1次消元计算得到与原方程组等价的方程组
(2))2(b x =A 其中
⎥⎥
⎥⎥⎥⎦⎤
⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎢⎣
⎡=)
2()2(2)1(1)2()2()2(2
)2(2)2(22)
1(1)1(12)1(11)
2(b n nn n n
n b b b a a a a a a a A
, 上述过程可记为 ]
2[)2()2(]
b ,[]b ,[A A →
重复上述计算过程,现假设已完成第1-k 步的选主元素过程,交换两行并进行消元计 此时]b ,[A 约化为
⎥⎥⎥⎥
⎥⎥
⎥⎥⎦
⎤
⎢⎢
⎢
⎢⎢⎢⎢⎢⎣
⎡=)()
()()()()
()2(2)2(2)
2(22)1(1)
1(1)1(12)1(11)
()(]b ,[k n k nn
k nk k k k kn
k kk n
n k k b a a b a a b a a b a a a A
其中)(k A 的元素仍记为j i a ,)(b k 的元素仍记为i b .
第k 步选主元素(在)(k A 右下角方阵的第1列内选),即确定k i ,使 0max ,≠=≤≤ik n
i k k i a a k
交换]b ,[)()(k K A 第k 行与)1,,2,1(-=n k i k 行的元素,再进行消元计算,最后将原线性方程组化为
⎥⎥
⎥⎥⎦
⎤
⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢
⎢
⎣⎡n n nn n n b b b x x x a a a a a a 212122211211
回代可求解得 ⎪⎩
⎪⎨
⎧-=-==∑+=)
1,2,,1(/)(/1 n i a x a b x a b x ii
n
i j j ij i i nn n n
算法描述:
对于1,,2,1-=n k 做到(4)。 (1) 按列选主元,即确定k i 使 0max ,≠=≤≤ik n
i k k i a a k
(2) 如果0,=k i k a ,则A 为奇异矩阵,停止计算。 (3) 如果k i k ≠,则交换]b ,[A 第k i 行与第k 行元素。 (4) 消元计算:
)
,,1(),,1,(),,1(/n k i b m b b n k j i a m a a n k i a a m a k
ik i i kj
ik ij ij kk
ik ik ik ⋅⋅⋅+=*-←⋅⋅⋅+=*-←⋅⋅⋅+==← (5) 回代计算:
⎪⎩⎪⎨⎧-=-←≠←∑+=)1,2,,1(/)(0/1 n i a b a b b a a b b ii n
i j j ij i i
nn nn n n )
(当
三 通过计算机利用列主元素消去法求解线性方程组