线性方程组解法综述

  • 格式:doc
  • 大小:286.50 KB
  • 文档页数:13

下载文档原格式

  / 13
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

线性方程组解法的研究综述

摘要:这篇论文在说明了线性方程组的应用目的的基础上,提出了线性方程组求解的研究现状,并列举了常用的求解方法,同时说明了它们的应用条件,剖析了各种方法的不足之处。

关键词高斯消元迭代病态方程组

一、问题提出

在自然科学和工程实际应用中,有许多问题的求解最终都转化为线性方程组的求解问题。例如,电学中的网络问题,曲线拟合中常用的最小二乘法、样条函数插值、解非线性方程组、求解偏微分方程的差分法、有限元法和边界元法以及目前工程实践中普遍存在的反演问题等。特别是在图像恢复、模型参数估计、解卷积、带限信号外推、地震勘探等众多领域,都需要求解线性方程组。

由于线性方程组问题在理论上的重要性和在工程实际应用中的大量存在,多年来人们在这方面做了广泛深入的研究和探讨,并取得了许多有价值的成果.由于模型误差、测量误差、计算误差等各种误差的存在,常常使得线性方程组中的系数矩阵和非齐次项信息具有某种程度的近似性(即扰动性),这种近似性显然会使得线性方程组的求解不容易得到真实的理论解。此时,不同的求解方法由于运算机理不一样,求解过程中误差积累程度就不一样,因此必然会使得不同的求解方法得到的解具有不同的逼近真解的误差程度,尤其对具有病态性的方程组而言,由于病态线性方程组的条件数很大,数据误差以及计算过程中引入的舍入误差往往会使线性方程组的解不稳定,即不管原始数据的误差多么小,都可能造成解的很大变化,使线性方程组的解严重失真。因此,许多现有的方法都是无效的,病态线性方程组的求解变得相当困难。求解线性方程组的最常用的方法主要有直接法和迭代法两大类,其中直接法中最常用的方法是高斯消元法。但是,该方法求解病态线性方程组时不能得到合理的解,误差很大。

二、研究现状

目前关于线性方程组的数值解法一般有两大类。一类是直接方法,另一类是迭代方法。直接方法最基本的是高斯消元法及其变形,这类方法是解低阶稠密矩阵方程组的有效方法,近十几年来直接法在求解具有较大型稀疏矩阵方程组方面取得了较大进展。迭代法就是用某种迭代过程去逐步逼近线性方程组的精确解,迭代法具有需要计算机的存储单元较少,程序设计简单,原始系数矩阵在计算过程中始终不变等优点,但存在收敛性及收敛速度问题。迭代法是解大型稀疏矩阵方程组的重要方法。当前对迭代算法的研究已经较为成熟,但如何使之适合新体

系模型,以获得更好的性能加速一直是应用和体系设计者关心的问题。 三、常用方法比较 1.直接方法

直接方法是指假设计算过程中不产生舍入误差,经过有限次运算可求得方程组的精确解的方法。事实上,由于舍入误差的存在,用直接法一般也只能求得方程组的近似解。直接方法中主要有三种方法:克拉默法则、高斯消元法、LU 分解法。 (1)克拉默法则

设有线性方程组( n 个未知数 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 (22112)

222212********* 其矩阵形式为 Ax = b 其中

⎥⎥⎥⎥⎦

⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥

⎥⎥⎦⎤

⎢⎢⎢

⎢⎣⎡=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 2121212222111211,, 如果线性方程组的系数行列式不为零,即 det( A) ≠ 0 ,则该方程组有唯一解。由克拉

默法则知,其解为

),...,2,1()

det()

det(n i A A x i i ==

其中Ai 为上述方程组的右端向量b 代替A 中第i 列向量所得的矩阵。 (2)高斯消元法 设

⎪⎪⎩⎪⎪⎨⎧=++++=++++=++++n

n nn n n n n n n n b x a x a x a x a b x a x a x a x a b x a x a x a x a (3322112)

232322212111313212111 (1)

如果011≠a ,将第一个方程中x1的系数化为 1,得

)1(1,112)

1(121...+=+++n n n n a x a x a x

其中 )

1(1)1(ij i ij ij a m a a ⋅-=

11

)

1(1

1a a m i i =

从其它n –1 个方程中消x1,使它变成如下形式

由方程(1)到(2)的过程中,元素 a11 起着重要的作用,特别地,把 a11称为主元素。如果(2)中a 22≠0,则以a 22(1)为主元素,可以把方程组(3)化为:

⎪⎪

⎪⎩

⎪⎪⎪⎨⎧=++=++=+++=+++)

2()2(3)2(3)

2(3)2(33)2(33)2(2)2(23)2(232)

1(1)1(12)1(121............n n nn n n n n n n b x a x a b x a x a b x a x a x b x a x a x (3) 针对(3)继续消元,重复同样的手段,第 k 步所要加工的方程组是:

⎪⎪⎪⎪

⎪⎩

⎪⎪⎪⎪⎪⎨⎧=++=++=+++=+++=++++------------)

1(1)1()

1()1()1()

1(1)1()1(11)

2(2

)2(23)2(232)

1(1)1(13)1(132)1(121...............k n n k nn k k nk k k n k nn k k kk k k n k kn k k k k n n n n b x a x a b x a x a b x a x a x b x a x a x b x a x a x a x

设 a ≠ 0 ,第k 步先使上述方程组中第k 个方程中x 的系数化为 1,

)

(1,)

()

(1,...k n k n k kn k k k k k a x a x a x ++=+++

然后再从其它(n - k )个方程中消k x ,消元公式为:

⎪⎪⎪⎩⎪⎪⎪⎨⎧

+=++=⋅-=++==

----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()(

按照上述步骤进行 n 次后,将原方程组加工成下列形式: