关于线性方程组求解的论文

合集下载

数学专业论文—线性方程组的求解及其应用

数学专业论文—线性方程组的求解及其应用
• 若 rankR rankR (即 d r 1 0 ),且 rankR n则原方程组(1.1) 有无穷多组解.这无穷多组解可以用一般解来表示,其中自由变量有nr 个,主变量有r个.
齐次:
• 若 rankR n,则齐次线性方程组(1.2)只有零解 0,0,,0.
T
• 若 • 若
1 0 0 2 1 0 1 2 1 1 3 1 0 1 0 4 0 1 0 0 0 1 1 4 3 . 2 1 4
3.线性方程组的求解
• 高斯消元法
2 x1 4 x2 2 x3 6, 例3 解线性方程组 x x 5 x 0, 1 2 3 4 x x 2 x 2. 3 1 2
3.线性方程组的求解
• 高斯消元法
2 x1 4 x2 2 x3 6, 例3 解线性方程组 x x 5 x 0, 1 2 3 4 x x 2 x 2. 3 1 2 7 类似的,我们将(3.3)中的第三个方程减去第二个方程的 3 倍,又可以 消去第三个方程中的变量 ,最后得到与(3.2)等价的方程组
• 通解表示形式
例1 求线性方程组的通解
3 x1 x2 x3 2 x4 2, x 5 x 2 x x 1, 1 2 3 4 2 x1 6 x2 3 x3 3 x4 3, x1 11x2 5 x3 4 x4 4.
2 Ax 1 4
4 2 x1 6 1 5 x2 0 B, 1 2 x3 2
其增广矩阵为
2 4 2 6 2 4 2 6 2 4 2 6 A A 1 1 5 0 0 3 6 3 0 3 6 3 4 1 2 2 0 7 2 10 0 0 12 3 量的个数,即当(1.1)中m=n时,即:

毕业设计论文 高斯消去法求解线性方程组

毕业设计论文 高斯消去法求解线性方程组

摘要高斯消去法是求解线性方程组的最基本的方法之一。

为了充分利用GPU (Graphics Processing Unit,图形处理器)的并行处理能力,本文改进了高斯列主元消去法的实现过程,从而提高了求解线性方程组的速度。

并研究了在不同方程组阶数下,GPU对这此算法的加速效果。

NVIDIA新近推出的GPU计算平台采用矩阵型的计算架构,对处理大型矩阵具有极大的优势,且相对CPU有着更高的算法可并行性和计算效率。

本文力图基于GPU的CUDA开发环境,利用GP-GPU的计算特性实现求解线性方程组,以提高算法的运行效率。

最后,本文用C语言实现了高斯列主元消去算法求解线性方程组的基本过程,并分别在NVIDIA GPU并行计算平台和Intel CPU计算平台上加以运行,同时进行了两种计算平台上算法实现的性能比较。

关键词:求解线性方程组;高斯消去法;GPU;CUDA;并行计算AbstractGaussian elimination method is one of the most basic methods for solving linear equations. In order to take full advantage of GPU (Graphics Processing Unit, GPU) of the parallel processing capability, this paper improved Gaussian PCA out of the realization of the process of elimination, resulting in improved system of linear equations to solve the speed. And studied the different equations in a few bands, GPU accelerated the effect of this algorithm. NVIDIA recently introduced the use of GPU computing platform for the calculation of matrix-type structure, to deal with large-scale matrix has great advantages, and the relative CPU algorithm has higher computational efficiency and parallelism. This article seeks to CUDA for GPU-based development environment, the use of GP-GPU computing features to achieve the solution of linear equations in order to improve the effi ciency of algorithm. Finally, using C language realization of the Gaussian elimination algorithm PCA out of linear equations to solve the basic process and NVIDIA GPU in parallel computing platform and Intel CPU computing platform to be run, at the same time on two types of computing platforms algorithm Performance Comparison of the achievement.Key words:Solving linear equations; Gaussian elimination method; GPU; CUDA; Parallel Computing目录第一章绪论 (1)1.1 引言 (1)1.2 论文研究背景 (1)1.3 论文研究的目的和意义 (2)1.4 论文结构安排 (3)第二章求解线性方程组的基本理论 (4)2.1 高斯-约当消去法 (4)2.2 矩阵三角分解法 (5)直接三角分解法 (5)追赶法 (5)2.3 平方根法 (6)2.4 迭代法 (6)2.5 高斯消去法 (7)2.6 高斯列主元素消去法 (9)第三章NVIDIA CUDA并行计算平台 (11)3.1 GPU 技术简介 (11)3.2 CUDA介绍 (13)3.3 CUDA编程模型 (17)3.4 应用程序接口 (20)编程语言扩展 (20)第四章功能实现和相关函数介绍 (22)4.1 程序在CPU上的实现 (22)高斯列主元消去算法实现过程 (22)各文件中的主要功能函数介绍 (24)4.2 程序在GPU上的实现 (26)文件中C语言的扩展 (26)文件编写过程 (29)并行性实现 (31)4.3性能比较与结果分析 (32)第五章总结与展望 (36)致谢 (37)参考文献 (38)第一章绪论1.1 引言当今很多科学与工程计算问题大都可以化为线性代数方程组的形式,所以有效的求解线性方程组在科学和工程计算中是非常重要的。

求解线性方程组的方法探讨论文设计

求解线性方程组的方法探讨论文设计

求解线性方程组的方法探讨摘要:线性方程组在数学领域中的应用十分广泛,而且它的求解方法在代数的学习中有着重要的作用,线性方程组的求解方法与行列式、矩阵、线性变换、向量组的线性相关性有着很大的关系,而在《高等代数》中只介绍了高斯消元法以及克莱姆法则,所以解法比较单一,有一定局限性。

本论文首先对课题的背景、意义、国内外研究状况进行阐述。

而后介绍其概念和他的性质定理。

然后对线性方程组的求解方法进行归纳和总结。

在例题中说明对每种解法的步骤及其特点,并对各种方法的优缺点、适用性进行分析。

线性方程组的解法虽多,但是根据线性方程组的不同结构来选用合适的解题方法,才能提高解题的效率,更快更好的得到结果。

关键词:线性方程组;矩阵;初等变换;高斯消元法Discussion on Methods of Solving Linear EquationsAbstarct:Linear equations are widely used in mathematics, and its solution plays an i mportant role in learning algebra.The method of solving linear equations has a great r elationship with determinant, matrix, linear transformation and linear correlation of ve ctor groups.However, only gauss elimination and Cramer's Law are introduced in Advanced Algebra, so the solution is relatively simple and has certain limitations.Fi rstly, this paper expounds the background, significance and research status at home an d abroad of the subject.Then the concept and his property theorem are introduced.The n, the methods of solving the linear equations are summarized.In the examples, the ste ps and characteristics of each method are explained, and the advantages, disadvantage s and applicability of each method are analyzed.Although there are many solutions to linear equations, only by choosing appropriate solutions according to different structur es of linear equations can we improve the efficiency of solving problems and get bette r and faster results.Key words:linear equations; matrix; Elementary transformation; gauss elimination目录1.绪论 (1)1.1 线性方程组的求解的背景及意义 (1)1.2 线性方程组国内外研究现状及评价 (1)2.线性方程组的概念和基础理念 (2)2.1 线性方程组的概念及形式 (2)2.2线性方程组有无解的判定定理[]1 (2)2.3 线性方程组的解的结构 (3)2.3.1 齐次方程组的解的结构 (3)2.3.2 非齐次方程组的解的结构 (4)3.线性方程组的求解方法 (5)3.1 高斯消元法 (5)3.2 LU分解法 (7)3.3 克莱姆(Cramer)法则 (8)3.4 逆矩阵解法 (10)3.5 分块矩阵解法[]75- (12)3.6 齐次线性方程组的基础解系求解方法 (13)3.7 非齐次线性方程组化为齐次线性方程组方法[]8 (14)结论 (17)参考文献 (18)致谢 (19)1.绪论1.1线性方程组的求解的背景及意义线性方程组求解在中国有着悠久历史,对线性方程组的研究,中国比欧洲至少早一千多年,记载于我国古代第一部数学专著《九章算术》的方程章。

【文献综述】线性方程组解法的研究

【文献综述】线性方程组解法的研究

【文献综述】线性方程组解法的研究文献综述信息与计算科学线性方程组解法的研究线性代数不仅是大学数学专业的一门重要的基础课程,也是本专科高校中各类专业的一门公共基础课,对后续知识的学习及学生的运算能力、逻辑推理能力、抽象概括能力的培养等都起着非常重要的作用。

线性代数理论有着悠久的历史和丰富的内容。

近年来随着科学技术的发展,特别是电子计算机使用的日益普遍,作为重要的数学工具之一。

线性代数的应用已经深入到自然科学、社会科学、工程技术、经济和管理等各个领域。

而求解线性方程组是线性代数的核心内容之一,也是它的最重要的应用领域之一。

线性方程组理论及其求解无论在工程计算和理论研究中都占有非常重要的地位,许多实际问题最终都可以化为一个线性方程组的求解问题。

线性方程组是指由一次方程所组成的方程组,对于它的研究主要是在解法问题上的探究,它有很多非常有效的解法,如高斯消元法、约当消元法、迭代法等,对一些特殊的线性方程组还有更有效的算法。

通常情况下,对于二元一次及三元一次方程组,采用的是加减消元法或带入消元法来求解。

至于多元线性方程组,大多采用的是高斯消元法、迭代法、主元素消去法等。

著名的克莱姆法则一般用在未知数个数和方程个数相等的情况下,用它求解方程组有个缺点,就是计算量比较大。

最初的线性方程组来源于生活,产生在实践中,正是一些实际问题刺激了这门学科的诞生和发展。

因此,线性方程组和我们的生活息息相关,人们对线性方程组的研究也在不断的深入,线性方程组理论及其解法更是不断的被应用在实际问题中。

对于线性方程组的解法,中国古代就有比较完整的论述。

在《九章算术方程》中,描述了相当于现在的高斯消元法,就是利用方程组的增广矩阵实行初等变换从而消去未知量的方法。

在印度,于梵藏的著作中最早出现一次方程组。

而西方,法国数学家彪特于1559年提出了三元一次方程组的解法,这也是欧洲最早出现的关于三元一次方程组的解法。

此后直到17世纪后期,由莱布尼茨开创了对线性方程组的研究,他当时研究的是含两个未知量的三个线性方程组组成的方程组,而且通过对线性方程组的研究还导致了他发明了行列式。

数值分析小论文线性方程组的直接解法

数值分析小论文线性方程组的直接解法

数值分析小论文线性方程组的直接解法线性方程组的直接解法是指通过一系列的代数运算直接求解线性方程组的解。

线性方程组是数值分析中非常重要的问题,广泛应用于工程、科学、计算机图形学等领域。

在线性方程组的直接解法中,最常用的方法是高斯消元法,它是一种基于矩阵变换的方法。

高斯消元法将线性方程组表示为增广矩阵,并通过一系列的行变换将增广矩阵转化为行阶梯形矩阵,从而得到方程组的解。

高斯消元法的主要步骤包括消元、回代和得到方程组的解。

消元是高斯消元法的第一步,通过一系列的行变换将增广矩阵的元素转化为上三角形式。

在消元过程中,我们首先找到主元素,即矩阵的对角线元素,然后将其它行的元素通过消元操作转化为0,从而使得矩阵逐步变成上三角形矩阵。

回代是高斯消元法的第二步,通过一系列的回代操作求解线性方程组。

回代操作是从上三角形矩阵的最后一行开始,通过依次求解每个未知数的值,最终得到方程组的解。

高斯消元法的优点是算法简单易于实现,可以在有限的步骤内求解线性方程组,适用于一般的线性方程组问题。

但是高斯消元法也存在一些问题,例如当矩阵的主元素为0时,无法进行消元操作,此时需要通过行交换操作来避免这种情况。

另外,高斯消元法对病态矩阵的求解效果较差,容易引起舍入误差累积,导致解的精度下降。

在实际应用中,为了提高求解线性方程组的效率和精度,人们常常使用一些改进的直接解法,例如列主元高斯消元法和LU分解法。

列主元高斯消元法通过选择最大主元来避免主元为0的情况,进一步提高了求解线性方程组的精度。

LU分解法将矩阵表示为两个矩阵的乘积,从而将线性方程组的求解问题转化为两个三角形矩阵的求解问题,提高了求解效率。

综上所述,线性方程组的直接解法是一种基于矩阵变换的方法,通过一系列的代数运算求解线性方程组的解。

高斯消元法是最常用的直接解法之一,它简单易于实现,适用于一般的线性方程组问题。

在实际应用中,可以通过改进的直接解法来进一步提高求解效率和精度。

学士论文线性方程组理论的有关应用

学士论文线性方程组理论的有关应用

线性方程组理论的有关应用Applications on theory of linear equations 专业: 数学与应用数学作者:指导老师:学校二○○摘要本文介绍了线性方程组的一些理论, 在此基础上做了一定的推广, 并讨论了这些重要的理论在高等代数中的具体应用.关键词:线性方程组; 行列式; 非零解; 矩阵的秩; 解空间AbstractIn this paper, we introduce some theories of linear equations, popularize some significant theories, and discuss these important theories of algebra in specific applications.Keywords:linear equations; determinant; non-zero solution; rank of matrix; solution space目录摘要 (I)ABSTRACT (II)0 引言 (1)1 关于线性方程组的一般理论 (1)2 线性方程组理论的几个应用 (2)2.1 齐次线性方程组有非零解理论在初等数学中的应用 (2)2.2 齐次线性方程组解空间理论在解题上的应用 (5)2.3 线性方程组理论在解析几何中的应用 (7)参考文献 (11)0 引言目前, 新的中学教材已初步渗透了高等数学的一些知识理论, 而利用这些知识理论来解决初等数学问题显得既简洁又优美. 本文针对中学数学中由几个结构相似且具有共同字母或数字的等式联系在一起的若干变量之间的相互关系问题,结合高等代数中有关齐次线性方程组的理论, 从而有助于问题迅速的得以转化和解决. 同时将线性方程组理论应用于解析几何, 沟通了代数与几何的内在联系, 并可透视代数与几何的相互渗透, 也可使许多几何问题得到更为简明的刻画.关于线性方程组的一般理论, 可参看文献[1-3,8-11], 一些专题研究可参看文献[4-7].1 关于线性方程组的一般理论在这一节, 我们回顾《高等代数》中关于线性方程组的一般理论. 对于任一个矩阵A , 我们用T A 表示A 的转置, r 表示A 的秩, n r -表示自由未知量的个数, dim A 表示A 的维数. 并且我们知道在经典的《高等代数》的教材中, 有以下关于线性方程组的结果.定理 1.1[1] 含有n 个未知量n 个方程的齐次线性方程组有非零解的充要条件是其系数行列式等于零.定理 1.2[1] 设齐次线性方程组111122112122221122000n n n n m m mn n a x a x a x a x a x a x a x a x a x +++=+++=+++=⎧⎪⎪⎨⎪⎪⎩ (1.1) 系数矩阵()ij m n A a ⨯=的秩()R A r =. 且方程组(1.1)的解空间为V . 则可以得到下列结论dim()()V n R A =-, 这里dim()V 表示方程组(1.1)解空间的维数.2 线性方程组理论的几个应用2.1 齐次线性方程组有非零解理论在初等数学中的应用(1) 在求解二元方程组上的应用利用定理1.1可求解二元方程组, 求解时只需将其中一个变量作为常数即可. 例1 求下面方程组的全部解, 其中方程组为3223010xy x y xy x y ++-=⎧⎨+++=⎩解 将y 看成是常数, 则方程组可改写为(32)(23)0(1)(1)0y x y y x y ++-=⎧⎨+++=⎩, 则有3223011y y y y +-=++.求解得11y =-, 25y =-. 代入方程组求解, 得到15x =-, 21x =-. 故原方程组的全部解为1151x y =-=-⎧⎨⎩, 2215x y =-⎧⎨=-⎩ . 例2 已知一次函数()f x ax b =+, 且1(1)2f -≤-≤, 2(2)3f -≤≤, 求(3)f 的取 值范围.解 应先找出(3)f 与(1)f -, (2)f 的关系, 有(1)f a b -=-+, (2)2f a b =+, (3)3f a b =+,得(1)02(2)03(3)0a b f a b f a b f -+--=⎧⎪+-=⎨⎪+-=⎩这是关于,,1a b -的三元齐次线性方程组, 显然方程组有非零解, 于是11(1)21(2)031(3)f f f --= 化简为(1)4(2)3(3)0f f f --+-=, 所以14(3)(1)(2),33f f f =--+ 因此 1013(3)33f -≤≤. 例3 等差数列{}n a 的前m 项和为30, 前2m 项和为100, 则它的前3m 项和为()A 130; ()B 170; ()C 210; ()D 260解 由等差数列知识, 可设前n 项和为2()n S an bn n N =+∈,所以2m S am bm =+,2242m S m a mb =+, 2393m S m a mb =+, 考察以,,1a b -为未知数的方程组222230420930m m m m a mb S m a mb S m a mb S +-=+-=+-=⎧⎪⎨⎪⎩ 由于该齐次线性方程组有非零解, 因此其系数行列式为0, 于是2222342093m m mm m S m m S m mS =即231142093mm mS S S = 化简, 得23330m m m S S S -+-=, 所以323()3(10030)210m m m S S S =-=-=.故选()C .例4 已知2()f x x px q =++, 求证(1)f , (2)f , (3)f 中至少有一个不小于12.证明 先找出(1)f , (2)f , (3)f 间的关系, 有1(1)024(2)039(3)0p q f p q f p q f ++-=++-=++-=⎧⎪⎨⎪⎩此关于p , q , 1的齐次线性方程组有非零解, 于是111(1)212(2)0319(3)f f f --=- 化简, (1)2(2)(3)2f f f -+=.假设结论不成立, 即1(1)2f <, 1(2)2f <, 1(3)2f <, 易推出2(1)2(2)(3)2f f f -<-+<, 产生矛盾, 命题得证.(2) 在证明一元n 次方程重根上的应用由高等代数中多项式理论容易知道, 多项式()F x 的重因式()P x 必是()F x '的因式.因此, ()F x 的重根必是()F x '的的根, 且此根是()F x 与()F x '的公共根. 由此结论我们可以推广到以下结论如果0x 是()f x 的k 重根(1)k ≥, 则0x 是()f x '的1k -重根.下面我们就这一理论: 来看一看如何利用线性方程组理论证明方程的重根. 首先给出一个简单的结论:设α是方程010a x a +=与20120b x b x b ++=的公共根, 则α也是2010a x a x +=的根, 从而有下列齐次线性方程组012012012000a x a a x a xb x b x b ⎧+=⎪+=⎨⎪++=⎩ 其根为2(,,1)x x , 根不为零, 由线性方程组理论知其系数行列式为零. 即01010120 00 a a a a b b b =.由上述结论, 我们可以获得一个判断重根的方法.例5 证明一元二次方程2ax bx c ++(0a ≠)有重根的充要条件是其判别式240b ac ∆=-=.证明 对方程两边求导有20ax b +=. 一元二次方程20ax bx c ++=有重根, 即其与20ax b +=有公共根, 由上面的结论有10 2 2 0 0a b a b a b c=. 展开运算即有240b ac -=. 推广到一元n 次方程. 设α是11100n n n n a x a x a x a --++++=的根, 从而有下列齐次线性方程组1211211111000(1)0n n n n n n nn n n n n na x a na x a x na x n a x a a x a x a x a -------+=+=+-++=++++=⎧⎪⎪⎪⎨⎪⎪⎪⎩ 其根为11(,,...,,)nn x xx -不为零, 由线性方程组理论知其系数行列式为零. 即111211221000000000(1)0n n n n n n nn n na a na a na n a a a a a a a a a -----=-.2.2 齐次线性方程组解空间理论在解题上的应用例6 设A 为m n ⨯矩阵, B 为n s ⨯矩阵, 且0AB =, 则()()R A R B n +≤. 证明 把矩阵B 分块为: 12(,,,)s B ααα=, 则0i A α=, 1,2,,i s =. 从而i V α∈,其中V 是0AX =的解空间. 由定理1.2得()dim ()R B V n R A ≤=-. 于是()()R A R B n +≤.例7 若A 是n 阶方阵,且2A A =, 则()()R A R I A n +-=. 证明 因为()(())()()n R I R A I A R A R I A ==+-≤+-, (2.1) 又因2A A =即()0A A I -=, 由例6知()()R A R I A n +-≤. (2.2) 由(2.1)(2.2)两式得()()R A R I A n +-=.分析以上三个例题, 很容易想到利用齐次线性程组解的理论来解决, 特别是例6,由0AB =, 容易联想到把B 的列向量作为齐次线性方程组0AX =的解向量, 从而获得解决. 下面讨论几个例子, 看起来似乎与齐次线性方程组无关系, 但经过仔细分析,我们将会发现, 仍然可以通过齐次线性程组的理论加以解决.例8 设A 为m n ⨯矩阵, B 为n s ⨯矩阵, 则()min{(),()}R AB R A R B ≤. 证明 设12(,,,)s V L ηηη=为齐次线性方程组0BX =的解空间, 其中我们令12(,,,C ηη=)t η. 由定理1.2知()()t R c s R B ==-. 又因0ABC =, 由例6于是我们知()()R AB R C s +≤.即()(())()R AB s s R A R A ≤--=.同理可得()()R AB R B ≤, 于是结论成立.例9 设A 为n 阶方阵, 则1()()n n R A R A +==.证明 若A 为满秩矩阵, 则结论显然成立. 现设()R A n <, 则存在自然数k 使得1()()k k R A R A += 1k n ≤≤. 设i V 为齐次线性方程组0i A x =的解空间, 则对任意ξ∈i V ,有10i i A AA ξξ+==, 于是有1k k V V +⊆, 1,2,i =,因1()()k k R A R A +=, 故由定理1.2知,1dim()dim()k k V V +=. 又因1k k V V +⊆, 从而1k k V V +=.现设2k V ξ+∈, 则2k A ξ+10k A ξ+==. 由此得1k k A V V ξ+∈=, 故1()0k k A A A ξξ+==. 于是1k V ξ+∈. 从而21k k V V ++=, 由定理1.2得12()()0k k R A R A ++==. 同理可得 231()()()()k k n n R A R A R A R A +++=====.例10 设A 为2阶方阵,且0m A =, 则20A =.证明 不考虑0A =的情况, 则()1R A =. 设0m A =, 但10m A +≠, 则, ()1i R A =,1,2,,i =1m -. 设i V 为齐次线性方程组0i A X =的解空间, 与例5同样证明方法得121m V V V -=== .设110ε⎛⎫= ⎪⎝⎭, 201ε⎛⎫= ⎪⎝⎭, 从而0m A =, 故211()0A A A εε==, 从而11m m A V V ε-∈=,于是222()0A A A εε==. 同理222()0A A A εε==. 故 2212(,)0A A εε==.例11 设A 为m 列矩阵, 从A 中任取出s 列, 组成矩阵B , 有()()R B R A s m ≥+-. 证明 设12(,,,)m A ααα=, 12(,,,)i i is B ααα=, 并设12(,,,)T i i is x x x ξ=为齐次线性方程组0BX =的任意解, 即有11220i i i i is is x x x ααα+++= 121s m i i i ≤≤≤≤≤.于是11122000...i i i i is is m x x x ααααα+++++++=.即1200000000(,,,,,,,,,,,,,,)T i i is x x x η=是齐次线性方程组0AX =的解. 故齐次线性方程组0AX =解空间的维数不小于齐次线性方程组0BX =解空间的维数. 由定理1知()()m R A s R B -≥-, 即()()R B R A s m ≥+-.在一般教材或习题指导书中, 上面几个例题均不是以这种方法证明的, 例如, 例8常用的方法是利用向量的相互线性表出, 例9一般用到线性变换的方法, 例10则是讨论2阶矩阵的各种可能的情况, 例11用到极大无关组方面的性质. 这些方法彼此都不同, 学生难以在短时间内掌握, 而我们这里介绍的方法最重要的优点是方法统一. 涉及知识较少, 便于掌握, 且解题范围比较全面. 因此, 对齐次线性方程组解空间的理论加以灵活运用, 对提高学生解题信心, 积累解题技巧, 是十分有帮助的.2.3 线性方程组理论在解析几何中的应用命题1 设有平面上四个点(,)i i i p x y , 1,2,3,4i =. 矩阵A , B 如下112233441111x y xy A x y x y ⎛⎫ ⎪⎪= ⎪⎪⎝⎭, 2211112222222233332244441111x y x y x y x y B x y x y x y x y ⎛⎫+ ⎪+ ⎪=⎪+ ⎪ ⎪+⎝⎭则这四点共圆的充分必要条件是矩阵A 与矩阵B 的秩相同, 即()()R A R B =.证明 设平面上圆的一般方程为220x y ax by c ++++=, 其中,,a b c 为不全为零的常数, 考虑关于,,a b c 的方程组221111222222223333224444()0()0()0()0x y ax by c x y ax by c x y ax by c x y ax by c ⎧++++=⎪++++=⎪⎨++++=⎪⎪++++=⎩ (2.3) 则由线性方程组的理论可知: 四点(,)i i i P x y , 1,2,3,4i =共圆等价于关于a , b , c 的线性方程组(2.3)有解(,,)a b c 等价于()()R A R B =.命题2 设平面上有n 条直线0i i i a x b y c ++=, 1,2,,i n =, 且1122A=n n a b a b a b ⎛⎫ ⎪ ⎪ ⎪ ⎪⎝⎭, 111222B=n n n a b c a b c a b c ⎛⎫ ⎪ ⎪ ⎪ ⎪⎝⎭(2.4) 则这条直线相交于一点的充分必要条件是()()2R A R B ==.证明 考虑方程组111222000n n n a x b y c a x b y c a x b y c ++=⎧⎪++=⎪⎨⎪⎪++=⎩则由线性方程组理论可知: (1)这n 条直线相交于一点(只有一个公共点)等价于方程组; (2)有唯一解(,)x y 等价于()()2R A R B ==.命题3 设有空间四个点(,,)i i i i p x y z , 1,2,3,4i =.1112223334441111x y z x y z A x y z x y z ⎛⎫⎪ ⎪= ⎪⎪⎝⎭,` 矩阵A 的秩()R A r =, 则(i) 当4r =时, 四点异面; (ii) 当3r =时, 四点共面; (iii) 当2r =时, 四点共线; (iv) 当1r =时, 四点重合.证明 对A 施行初等变换111112,3.4210i r r i y x z A A B A -=⎛⎫−−−→==⎪⎝⎭, 从B 知12()()()1R A R A R A ==+.(i) 当4r =时,2()3R A =, 向量组12p p , 13p p , 14p p 线性无关, 张成整个三维空间(2), 所以四点异面;(ii) 当3r =时, 2()2R A =不妨设2A 的前两行线性无关, 向量12p p , 13p p 线性无关, 于是该组向量可以将向量14p p 线性表示, 故四点共面, 但不共线.(iii) 当2r =时, 2()1R A =, 与前面类似分析可得12p p , 13p p ,14p p 共线; (iv) 当1r =时, 2()0R A =, 即12p p , 13p p , 140p p =, 四点重合. 命题4 设有n 个平面0i i i i a x b y c z d +++=, 1,2,,i n =111222n n n a b c a b c A a b c ⎛⎫ ⎪ ⎪= ⎪ ⎪⎝⎭, 11112222nnnn a b c d a b c d B a b c d ⎛⎫ ⎪ ⎪= ⎪ ⎪⎝⎭则(i) 这n 个平面只有一个公共点等价于()()3R A R B ==; (ii) 这n 个平面相交于一条直线等价于()()2R A R B ==;证明 (i) 考虑方程组11112222000n n n n a x b y c z d a x b y c z d a x b y c d +++=⎧⎪+++=⎪⎨⎪⎪+++=⎩ (2.5)则由方程组理论可知: 这n 个平面只有一个公共点等价于方程组(2.5)有唯一解等价于()R A R =()3B =.(ii) 充分性 若()()2R A R B ==, 则由线性方程组理论知, 方程组(2.5)有无穷多个解,其基础解系含有321-=个解向量11(0)ζζ→≠ , 全部解为1k ζ, 因此,这n 个平面相交于一条直线, 该直线的方向向量为1ζ.必要性 若这n 个平面相交于一条直线, 则方程组(2.5)有无穷多个解, 从()R A()3R B =<. 又因为这n 个平面不重合, ()1R B >, 故()()2R A R B ==.命题5 设三角形三条边所在的直线方程分别为123,1,2,3,0i i i i a x a y a =++= 已知A =()ij nn a 的代数余子式为ij A , 则三角形的面积2132333||2A S A A A ∆=±. (2.6) 其中“±”的选取使S ∆为正值.证明 将任意两条直线方程联立, 可得到三个方程组, 因三条边两两相交, 故这些方程组的系数行列式13A , 23A , 33A 均不为零且顶点分别为1111312113A x A A y A ⎧=⎪⎪⎨⎪=⎪⎩, 2122322223A x A A y A ⎧=⎪⎪⎨⎪=⎪⎩, 3133332333A x A A y A ⎧=⎪⎪⎨⎪=⎪⎩从而12312312111x x x S y y y ∆=±*1323331||2A A A A =21323331||2A A A A =±.致谢 本文是在 的指导和帮助下完成的, 在此对周老师表示衷心的感谢!参考文献[1] 北京大学数学系. 高等代数[M]. 北京: 高等教育出版社, 1988.[2] 张禾瑞, 郝鈵新.高等代数(第四版)[M]. 北京: 高等教育出版社, 1999.[3] 丘维声. 高等代数[M]. 北京: 高等教育出版社, 1996.[4] 许绍元, 赵礼峰. 高等师范院校数学教学改革的研究与实践[J]. 淮北煤炭师范学院学报(自然科学版), 2(2004), 64-68.[5] 许绍元, 陈亮. 实变函数课程教学中培养学生科研能力的体会[J]. 淮北煤炭师范学院学报(自然科学版), 2(2003), 53-56.[6] 赵树嫄. 线性代数(第三版[M]). 北京: 中国人民大学出版社, 2006.[7] 马国贤, 蒋洪, 赵海利. 谁从高等教育补贴中受益[N]. 中国财经报, 2002-4-6.[8] 史明仁. 线性代数600证明题详解[M]. 北京: 北京科学技术出版社, 1985.[9] 萧永震等. 空间解析几何解题指导[M]. 天津: 天津科学技术出版社, 1990.[10] W.Greub. LinearAlgebra(FourthEdition)[M]. Springer-Verlag, 1975.[11] L.Smith. Linear Algebra (Second Edition)[M]. Springer-Verlag, 1984.。

【文献综述】线性方程组解法的研究

【文献综述】线性方程组解法的研究

文献综述信息与计算科学线性方程组解法的研究线性代数不仅是大学数学专业的一门重要的基础课程,也是本专科高校中各类专业的一门公共基础课,对后续知识的学习及学生的运算能力、逻辑推理能力、抽象概括能力的培养等都起着非常重要的作用。

线性代数理论有着悠久的历史和丰富的内容。

近年来随着科学技术的发展,特别是电子计算机使用的日益普遍,作为重要的数学工具之一。

线性代数的应用已经深入到自然科学、社会科学、工程技术、经济和管理等各个领域。

而求解线性方程组是线性代数的核心内容之一,也是它的最重要的应用领域之一。

线性方程组理论及其求解无论在工程计算和理论研究中都占有非常重要的地位,许多实际问题最终都可以化为一个线性方程组的求解问题。

线性方程组是指由一次方程所组成的方程组,对于它的研究主要是在解法问题上的探究,它有很多非常有效的解法,如高斯消元法、约当消元法、迭代法等,对一些特殊的线性方程组还有更有效的算法。

通常情况下,对于二元一次及三元一次方程组,采用的是加减消元法或带入消元法来求解。

至于多元线性方程组,大多采用的是高斯消元法、迭代法、主元素消去法等。

著名的克莱姆法则一般用在未知数个数和方程个数相等的情况下,用它求解方程组有个缺点,就是计算量比较大。

最初的线性方程组来源于生活,产生在实践中,正是一些实际问题刺激了这门学科的诞生和发展。

因此,线性方程组和我们的生活息息相关,人们对线性方程组的研究也在不断的深入,线性方程组理论及其解法更是不断的被应用在实际问题中。

对于线性方程组的解法,中国古代就有比较完整的论述。

在《九章算术方程》中,描述了相当于现在的高斯消元法,就是利用方程组的增广矩阵实行初等变换从而消去未知量的方法。

在印度,于梵藏的著作中最早出现一次方程组。

而西方,法国数学家彪特于1559年提出了三元一次方程组的解法,这也是欧洲最早出现的关于三元一次方程组的解法。

此后直到17世纪后期,由莱布尼茨开创了对线性方程组的研究,他当时研究的是含两个未知量的三个线性方程组组成的方程组,而且通过对线性方程组的研究还导致了他发明了行列式。

学论文线性方程组的求解及应用

学论文线性方程组的求解及应用

学年论文题目:浅谈线性方程组的求解及应用学院:数学与统计学院专业:信息与计算科学学生姓名:学号:指导教师:浅谈线性方程组解的求解及应用数学与统计学院 12级信息与计算科学专业摘要:我们已经学习过了一些关于线性方程组的一般理论,本文在我们学习的基础上总结并推广,讨论了这些理论在高等代数中的应用,并试图应用简单的数学软件来实现求解过程. 英文摘要:We have learned some common theories about system of linear equations, this article will summarize and generalize the theory on the basis of what we have known, discuss their application in high algebra and try to use a simple math software to find roots.关键词:克拉默法则消元解法MA TLAB 直接法迭代法Key Word: Cramer’s Rule Elimination Method MATLAB Direct MethodIterative Method一、引言在自然科学和工程技术中,很多问题的解决往往归结于求解线性代数方程组,例如电学中的网络问题,船体数学放样中建立三次样条函数问题,用差分法或者有限元方法解常微分方程组、偏微分方程的边值问题等,最后都归结为求解线性代数方程组.在中学代数中,我们学过二元、三元线性方程组.但在生产实际中所遇到的线性方程组,它的未知量往往不止两个、三个.那我们又该如何其求解呢?本文的主要内容就是以行列式、矩阵为工具讨论一些简单的线性方程组解的存在性、求解方法.具体地说就是要讨论以下几个问题:(1)线性方程组在什么情况下有解?也就是它有解的充要条件是什么?(2)假如没有解,当然不再讨论:如果有解,它究竟有多少个解?又怎么去求解?(3)假如只有一个解,那也简单;假如有多个解,解与解的关系又是怎么?(4)线性方程组有什么应用?经过深入的学习我们发现一些方程组的系数矩阵大多比较复杂,我们利用高等代数中的解法并不能得到它的解,我们用该怎么求解呢?经过数值分析这一门课程的学习我们知道关于线性方程组的数值解法一般两类,一类是直接法,另一类是迭代法.本文将简略介绍直接法中的最基本的Gauss消去法及其某些变形(这类方法是解低阶稠密矩阵方程组的有效方法)和详细介绍迭代法的一些基本理论及Jacobi 迭代、Gauss-Seidel 迭代法、超松弛迭代法以及使用MATLAB 如何进行线性方程组的快速求解.二、简单线性方程组的求解行列式按行展开定理【1】:n 阶行列式D 等于它的任一行元素与该行元素的对应代数余子式乘积之和.即11221,(1,2,).ni i i i in in ij ij i D a A a A a A a A i n ==+++==∑定理2【1】:行列式的某一行元素与另一行的对应元素的代数余子式的乘积之和等于零.1.克拉默法则(行列式)如果线性方程组11112211211222221122,,(1).n n n n n n nn n n a x a x a x b a x a x a x b a x a x a x b +++=⎧⎪+++=⎪⎨⎪⎪+++=⎩的系数行列式1112121222120,n n nn nna a a a a a D a a a =≠那么线性方程组(1)有唯一解:12,,,,.(2)i n D DD Dx x x x D DD D====其中111,111,11212,122,121,12,1,1,2,.i i n i i n i n n i ni nna ab a a a a b a a D i n a a b a a -+----==即D i 是把D 中的第i 列的元素换成线性方程组的常数项而得到的行列式.证明:为证明(2)式是线性方程组(1)的解,只需把它代入方程组(1)的每个方程,如果两端相等,则说明(2)确实是方程组(1)的解.将(2)式代入方程组(1)的第i 个方程组的左端,并注意把D i 按照第i 行展开,得()()()()[]nn n in i n n in n n i i i n n i i i n in i i n in i i A b A b A b A b a A b A b A b A b a A b A b A b A b a D D a D a D a D D D a D Da D D a ++++++++++++=+++=+++22112222212121121211112211221111()()()[]nn in n i n i n n in i i n in i i A a A a A a b A a A a A a b A a A a A a b D ++++++++++++=221122222112112211111根据行列式按行展开定理和定理2,可以看出,上式左端方括号只有b i 的系数是D ,而其他的b k (k ≠i )的系数都是零,故得()12121,1,2,,.n i i ini i D D Da a ab D b i n D DD D+++=⋅==这说明(2)式是方程组(1)的解. 再证解的唯一性. 任给方程组的一个解:x 1 = c 1, x 2 = c 2, … x n =c n , (3) 我们只要证明(3)与(2)相同即可.将(3)代入方程组(1),得()11112211211222221122,,4.n n n n n n nn n n a c a c a c b a c a c a c b a c a c a c b +++=⎧⎪+++=⎪⎨⎪⎪+++=⎩现在构造行列式nnn n nna a c a a a c a a a c a D c2112221211121111=给行列式的第2,3…,n 列分别乘以c 2,c 3,…,c n 后都加到第一列,得到.nnn nnn n n n nn n nn a a c a c a c a a a c a c a c a a a c a c a c a D c22211222222212111212121111++++++=根据(4)式,得12222211211D a a b a a b a a b D c nnn nn n ==,因D ≠0,所以,,,,2211DD c D Dc D D c n n ===这样,我们证明了(1)的任一解都是(2),所以(1)的解是唯一的.2.消元解法上面已经了解了解线性方程组的克拉默法则,但是使用克拉默法则是条件的,它要求线性方程组中方程的个数与未知量的个数相等,而且系数行列式不为零,可是在很多问题中,我们所遇到的线性方程组并不都是这样的,有时方程的个数虽与未知量的个数相等,但系数行列式等于零;有时甚至于方程的个数与未知量的个数都不相等,这时就无行列式可言了.那么对于一般的线性方程组,究竟该如何求解呢?定理3 [1]设线性方程组的(I )和(II )的增广矩阵分别为A 和B.如果A 可经过初等变换变为B ,那么线性方程组(I )和(II )是同解方程组.定理4(线性方程组有解的判定定理)[1]线性方程组11112211211222221122,,(5).n n n n n n nn n n a x a x a x b a x a x a x b a x a x a x b +++=⎧⎪+++=⎪⎨⎪⎪+++=⎩有解的充分必要条件是系数矩阵A 和增广矩阵B 有相同的秩,即秩A=秩B. 当秩A=秩B=n 时,方程组(5)有唯一解;当秩A=秩B<n 时,(5)有无穷多个解. 其中11121111211212222122221212,.n n n n n n nn n n nnn a a a a a a b a a a a a a b A B a a a a a a b ⎛⎫⎛⎫ ⎪ ⎪ ⎪ ⎪== ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭证明:利用线性变换和第一种列初等变换将方程组(5)的系数矩阵A 和增广矩阵B 变为如下的矩阵,其中r 为A 的秩,1,1111,112,1222,12,1,11100100010010,.00100100000000000000000r nr n r n r n rn r r r rn r r r m c c d c c c c d c c C D c d c c c d d +++++++⎛⎫⎛⎫ ⎪⎪⎪⎪ ⎪ ⎪⎪⎪== ⎪ ⎪ ⎪⎪⎪ ⎪⎪ ⎪⎪ ⎪⎝⎭⎝⎭所以D 所对应的线性方程组为:112111,1112,122,11.,,(6)0,0.r n r n r r n i r i n i i r i n i i r r i rn i r r m x c x c x d x c x c x d x c x c x d d d ++++++++++=⎧⎪+++=⎪⎪⎪⎪+++=⎨⎪=⎪⎪⎪=⎪⎩由于初等变换不改变矩阵的秩,且根据定理3同解方程的充要条件,所以有(5)和(6)是同解方程组.所以讨论(5)的求解问题就归结为讨论(6)的求解问题 .下面我们分情况讨论(5)是否是有解及有解时该如何求解的问题.情况1:r<m,且d r+1,…d m 不全为零.不妨设d r+1不等于0,此时出现0=d r+1,矛盾,所以方程组(6)无解,因此方程组(5)也无解情况2:r=m 或虽然r<m 但d r+1,…全为零.这时方程组(6)的后m-r 个方程组或者不出现,或者全变为0=0.如果是后者,删除0=0的恒等式不影响方程组的解,所以方程组(6)的解同解于如下的方程组:112111,1112,122,1.,(7).r n r n rr n i r i n i i r i n i i r r i rn i r x c x c x d x c x c x d x c x c x d +++++++++=⎧⎪+++=⎪⎨⎪⎪+++=⎩这时又有两种情形:(a)当r = n 时,方程组(7)为1212,,(8).ni i i n x d x d x d =⎧⎪=⎪⎨⎪⎪=⎩所以此时方程组(7)有唯一解(8),因此方程组(5)有唯一解:,,,2121n i i i d x d x d x n ===(b)当r < n 时,把方程组(7)改写为如下方程组:⎪⎪⎩⎪⎪⎨⎧---=---=---=++++++.,,112111,21,2211,11n r rn r n r i rn i r r r i i n i r i i n i r i x c x c d x x c x c d x x c x c d x于是,让未知量12,,,r r n i i i x x x ++取任意一组数12,,,r r n ii i k k k ++,就可得到(7)的解:112111111,1122,12,1,,,(9),.r n r n r r n r r n n i r i n i i r i n i i r r r i rn i i i i i x d c k c k x d c k c k x d c k c k x k x k ++++++++⎧=---⎪=---⎪⎪⎪⎪=---⎨⎪=⎪⎪⎪=⎪⎩当然(9)也是(5)的一个解,反过来,由于(5)与(7)是同解方程组,所以(5)的任意一个解都必须满足(7),从而具有(9)的形式.由于12,,,r r n i i i k k k ++可以任意选取,所以用上述方法可以求出(5)的无穷多解.根据以上讨论,我们可以由情况1和情况(2)的讨论可知,或者r = m,或者r < m ,但01===++m r r d d ,方程组(5)有解,在这两种情况下都有,秩 D = r . 所以秩 A =秩C .反过来,设秩 A = 秩 C ,那么秩 D = r ,由此即得 r = m 或者r < m 但01===++m r r d d .因而由前面的情况2的讨论即知 ,方程组(5)有解.由情况2(a)知,当秩 A = 秩C = n ,方程组有唯一解.由情况2(b)知,当秩 A = 秩 C < n 时,方程组有唯一解.三、解复杂的线性方程组1.直接法直接法就是经过有限步数学计算即可求得方程组的精确解的方法(若计算过程中没有舍入误差).但实际运算中由于舍入误差的存在和影响,这种方法也只可求得线性方程组的近似解.下面将阐述这类算法中的最基本的Gauss 消去法及其某些变形.这类是解低阶稠密矩阵的有效方法.定理5(矩阵的LU 分解)【9]设A 为n 阶矩阵,如果A 的顺序主子式D i (i=1,2,…,n),则A可以分解为一个单位下三角阵L 和一个上三角阵U 的乘积,且这种分解是唯一的(1)Gauss 消去法 设有线性方程组11112211211222221122,,(10).n n n n n n nn n n a x a x a x b a x a x a x b a x a x a x b +++=⎧⎪+++=⎪⎨⎪⎪+++=⎩或写成矩阵形式Ax=b,其中1112111212222212,,.n n n n n n nn a a a x b a a a x bA x b x b a a a ⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪=== ⎪ ⎪ ⎪⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭ 其中A 为非奇异矩阵.用消去法去解方程组的基本思想是,用逐次消去未知数的方法把原来的方程组Ax = b 化为与其等价的三角方程组,而求解三角方程组就容易了.换句话说,上述过程就是用行的初等变换将原方程组系数矩阵化为简单形式,从而求解原方程组.之前所讲的消元解法是其的特例,就不再缀述了. 下面我们来讨论一般的解n 阶方程组的Gauss 消去法. 将(10)式记为A (1) x = b (1),其中A (1) = (a ij (1)) = (a ij ) , b (1) = b.①第一次消元.设a 11(1)不等于0,首先设行计数乘数m i1 = a i1(1)/a 11(1) (i=2,3,…,n),用-m i1乘式(10)的第1个方程,加到i (i=2,3,…,n )个方程上,消去(10)中的第2个方程知道n 个方程的未知数x 1,得到与式(10)等价的方程组(11)),2,1(,,00)1(11)1()2()1(11)1()2(),2()22121)2()2(2)2(2)2(22)1(1)1(12)1(11n i b m b b a m a a b x A b b b x x x a a a a a a a i i i j i ij ij n n nn n n n =-=-==⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎭⎫ ⎝⎛其中简记(②一般第k (1≦k ≦n-1)次消元.设第k -1步计算已经完成,即已计算好与式(10)等价的方程组(12) A (k)x = b (k),且已消去未知数x 1 , x 2 , x 3 …,x k-1,其中A (k)具有以下形式:⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛)()()()()1(2)2(22)1(1)1(12)1(11n nn n nk k kn k kk n n a a a a a a a a a设a (k)kk 不等于0,计算乘数m ik = a ik (k)/a kk (k)(i=k+1,…,n),用-m ik 乘式A(k)x = b (k)的第k 个方程加上第i (i=k+1,…,n)个方程,消去第k+1个方程直到第n 个方程的未知数x k ,得到与式(10)等价的方程组A(k+1)x = b (k+1).A (k+1)元素的计算公式为:),1,()()()1()()()1(n k j i b m b b a m a a k k ik k i k ik kj ik k ij k ij+=⎪⎩⎪⎨⎧-=-=++,显然A (k+1)的第一行直到第k 行与A (k)相同.③继续这一过程,直到完成第n-1次消元.最后得到与原方程等价的三角方程组 A (n) x=b (n). (13) 上述过程称为消元过程.求解线性方程组(11),设a ij (i)不等于0(i=1,2,…,n-1),易得求解公式()()()()()1/,(1,2,,2,1).()/.n n n n nn n k k k k k kj j kk j k x b a k n n x b a x a =+⎧=⎪=--⎨=-⎪⎩∑上式的求解过程称为回代过程. (2)Gauss 消去法的变形Gauss 消去法有很多变形,有的是Gauss 消去法的改进、改写,有的是用于某一类特殊性质矩阵的Gauss 消去法的简化.下面介绍Gauss 主元素消去法和追赶法 ①Gauss 主元素消去法由Gauss 消去法知道,在消元过程中可能会出现0)(=k kka 的情况,这时消去法将无法进行;即使在主元素0)(≠k kka 但很小时,用其作除数,也会导致其元素的数量级的严重增长和舍入误差的扩散,最后会使得计算解不可靠.对于一般矩阵来说,最好每一步都选取系数矩阵(或消元后的低阶矩阵)中绝对值最大的元素作为主元素,使Gauss 消去法具有较好的数值稳定性.②追赶法在一些实际问题中,例如解常微分方程边值问题,解热传导以及船体数学放样中建立三次样条函数等中,都会要求解系数矩阵为对角占优的三对角方程组11112222211111.i i i i i n n n n n n n n n b c x f a b c x f a b c x f a b c x f a b x f -----⎛⎫⎛⎫⎛⎫⎪⎪ ⎪ ⎪⎪ ⎪ ⎪⎪ ⎪ ⎪⎪⎪= ⎪⎪⎪ ⎪⎪ ⎪ ⎪⎪⎪ ⎪⎪⎪ ⎪⎪ ⎪⎝⎭⎝⎭⎝⎭简记为Ax = f其中A 满足下列对角占优条件:)3();1,3,2(0,,)2(0)1(11111>>-=≠+≥>>n n i i a b n i c a c a b c b由系数矩阵A 的特点,可以将A 分解为两个三角阵的乘积,即A=LU. 其中L 为下三角矩阵,U 为上三角矩阵.下面说明这种分解是可能的.设⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=----11111213322111122211n n n n n n n n b a c b a c b a c b A βββαγαγαγα其中i i i γβα,,为待定未知量,比较上式两端得111111,,,,(2,3,,).(15),(1,2,,1).i i i i i i i i i b c b a i n c i n ααβαγγβαβ-====+===-由10,/,0,11111111<<=>>=ββα得b c c b b ,下面用归纳法证明0,(1,2,,)i i a c i n >≠=,01i β<<从而可以由(15)式求得i β证明:式(15)对于i = 1是成立的.现设(15)对i-1成立,求证对i 亦成立. 由归纳假设101-i <<β,又由于式(15)及A 的假设条件,有11≠≥->-≥-=--i i i i i i i i i i c b b b a αβαβα也就是10i <<β,由式(14)得到)1,,3,2(),/(),,3,2(1-=-==-=-n i a b c n i b i i i i i i i i i βββαα这就是说,由A 的假设条件完全确定了()()()i i i ,,γβα,实现了A 的LU 分解.求解A x =f 等价于解两个三角方程组L y = f 与U x = y,先后求解y 与x ,从而得到以下解三对角方程组的追赶法公式:步1:计算()i β的递推公式)1,,3,2(),/(,/1111-=-==-n i a b c b c i i i i i βββ步2:解L y = f :()().n),2,3,(i ,a -b / y a -f y ,/b f y 1-i i i 1-i i i i 111 ===β 步3:解U x = y: .,2,1)2,-n 1,-n (i ,x -y x ,y x 1i i i i n n ===+β将计算系数n 1-n 21ββββ→→→→ 及n 1-n 21y y y y →→→→ 的过程称为追的过程,将计算方程组的解121-n n x x x x →→→→ 的过程称为赶的过程.追赶法公式实际上就是把Gauss 消去法用到求解三对角方程组上去的结果.2.迭代法迭代法就是用某种极限过程去逐步逼近线性方程组精确解的方法.迭代法具有存储单较较少、程序设计简单、原始系数矩阵在计算过程中始终不变的优点,但存在收敛性及收敛速度方面的问题.迭代法是解大型系数矩阵方程组(尤其是由微分方程离散后得到的大型方程组)的重要方法.下面将介绍迭代法的一些基本理论及Jacobi 迭代法、Gauss-Seidel 迭代法、超松弛迭代法(SOR ).定理6(迭代法基本原理)【9】设有方程组x = Bx + f,对于任意初始向量x (0)及任意f ,解此方程的迭代解法(即x(k+1)=Bx(k)+ f)收敛的充要条件是ρ(B)<1.(1)Jacobi 迭代法 设有方程组),2,1(,1n i b x ai nj j ij==∑=记作Ax = b (16)A 为非奇异矩阵且a ij 不等于0 (i = 1,2,3,…,n).将A 分裂为A=D-L-U ,其中⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-=⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-=⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=--0000,0000,,1223113121,213231212211n n n n n n n n nn a a a a a a U a a a a a a L a a a D将式(16)第i (i=1,2,…,n) 个方程组用 a ii 去除再移项,得到等价方程组(17)),,2,1(),(11n i x a b a x nij j j ij i ii i =-=∑≠=简记为 x = B 0x + f,其中B 0=I - D -1A = D -1 (L+U),f = D -1b对于方程组(17)应用迭代法,得到(16)的Jacobi 迭代公式(18)次迭代向量为第其中()k x x x x x a b a x x x x x T k n k k k n i j i k jij i ii k i T n ),,(,)(1),,,)()(2)(1)(1)()1()0()0(2)0(10( =⎪⎪⎩⎪⎪⎨⎧-==∑≠=+设x (k)已经算出,由式(18)可计算下一次迭代向量x (k+1)显然迭代公式的矩阵形式为方法迭代矩阵称为其中初始向量)Jacobi B f x B x x k k 0)(0)1()0(,(⎪⎩⎪⎨⎧+=+.(2)Gauss-Seidel 迭代法由Jacobi 方法迭代公式可知,迭代的每一步计算过程,都是用x (k)的全部分量来计算x (k+1)的所有分量,显然在计算第i 个分量x i (k+1)时,已经计算出x 1(k+1), x 2(k+1),… x i-1(k+1)没有被利用.从直观上来看,最新计算出来的分量可能要比旧的分量要好一些.因此,对这些最新计算出来的第k+1次近似x (k+1)加以利用,就会得到所谓解的Gauss-Seidel 迭代法),,2,1,0(,(1(),,,(1)(11)1(1()0()0(2)0(1)0(n k x a x a b a x x x x x ni j k j ij i j k j ij i ij k in =--==∑∑+=-=++)初始向量).或写成(1)()(1)()11,(0,1,2,;1,2,,).1(.k k i i i i nk k i i ij iij j j j ii x x x k i n x b a x a x a ++==⎧=+==⎪⎨=--⎪⎩∑∑上面第二个式子利用了最新计算出来的变量x 1(k+1),第i 个式子利用了计算出来的最新分量x j (k+1)写成矩阵形式D x (k+1) = b+L x (k+1)+U x (k+1),(D - L) x (k+1)=b + U x (k), 若设(D-L)-1存在,则x (k+1) = (D - L)-1 U x (k) + (D - L)-1 b于是Gauss-Seidel 迭代公式的矩阵形式为x (k+1) = G x (k) + f,其中G = (D - L)-1 U,f = (D - L)-1 b(3)逐次超松弛迭代解法逐次超松弛迭代法是Gauss-Seidel 方法的一种加速方法,是解大型系数矩阵方程组的有效方法之一,它具有计算公式简单,程序设计简单,占用计算机内存较少等优点,但需要选择好的加速因子(即最佳松弛因子).设有方程组Ax = b (19),其中nn RA ⨯∈为非奇异矩阵,且a ii 不等于0(i=1,2,…,n),分解A 为 A = D - L - U设已知第k 次迭代向量x (k+1)的分量x j (k+1)(j=1,2,…,i-1),要求计算分量x i (k+1)首先用Gauss-Seidel 迭代法定义辅助量(20):),,2,1(,(11)(11)1()1(n i x ax a b a x ni j k j iji j k j ij i ii k i=--=∑∑+=-=++再把x i (k+1)取为x i (k) 与)1(+k ix 某一个平均值(即加权平均),得到(21))()1()()1()()1()()1(k i k ik i k ik i k ix x x x x x -+=+-=+++ωωω用(20)式代入(21)式,就得到解方程组Ax = b 的逐次超松弛迭代公式(22)⎪⎩⎪⎨⎧===--+=∑∑-==++),,2,1;,1,0(,),,,(())(2)(1)(11)()1()()1(n i k x x x x x a x a b a x x T k n k k k i j ni j k j ij k j ij i ii k i k i(ω其中ω称为松弛因子,或写成(1)()(1)()11,(0,1,2,1,2,,).(.k k i i i i nk k i i ij iij j j j ii x x x k i n x b a x a x a ω++==⎧=+==⎪⎨=--⎪⎩∑∑显然,ω=1时,解式(19)的SOR 方法就是Gauss-Seidel 迭代法,ω<1时,解式(22)为低松弛法,当ω>1时,称式(22)为超松弛法.四、解线性方程组的MATLAB 命令MATLAB 求解线性方程组:AX=B 或XA=B1. 在MATLAB 中,求解线性方程组时,主要采用除法运算符“/”和“\”.如: X=A\B 表示求矩阵方程AX =B 的解A\B 等效于A 的逆左乘B 矩阵,也就是inv(A)*B ;X =B/A 表示矩阵方程XA=B 的解,而B/A 等效于A 矩阵的逆右乘B 矩阵,也就B*inv(A). 对方程组X =A\B ,要求A 和B 用相同的行数,X 和B 有相同的列数,它的行数等于矩阵A 的列数,方程X =B/A 同理.2.如果矩阵A 不是方阵,其维数是m ×n ,则有:m = n ,恰定方程,求解精确解; m>n ,超定方程,寻求最小二乘解;m<n 不定方程,寻求基本解,其中至多有m 个非零元素. 针对不同的情况,MATLAB 将采用不同的算法来求解.(1)恰定方程组恰定方程组由n个未知数的n个方程构成,方程有唯一的一组解,其一般形式可用矩阵,向量写成如下形式:Ax=b 其中A是方阵,b是一个列向量;在线性代数教科书中,最常用的方程组解法有:(1)利用Cramer公式来求解法;(2)利用矩阵求逆解法,即x=A\b;(3)利用Gauss消去法;(4)利用LU法求解.一般来说,对维数不高,条件数不大的矩阵,上面四种解法所得的结果差别不大.前三种解法的真正意义是在其理论上,而不是实际的数值计算.MATLAB中,出于对算法稳定性的考虑,行列式及逆的计算大都在LU分解的基础上进行.在MATLAB中,求解这类方程组的命令十分简单,直接采用表达式:x=A\b.在MATLAB的指令解释器在确认变量A非奇异后,就对它进行LU分解,并最终给出解x;若矩阵A的条件数很大,MATLAB会提醒用户注意所得解的可靠性.如果矩阵A是奇异的,则Ax=b的解不存在,或者存在但不唯一;如果矩阵A接近奇异时,MATLAB将给出警告信息;如果发现A是奇异的,则计算结果为inf,并且给出警告信息;如果矩阵A是病态矩阵,也会给出警告信息.注意:在求解方程时,尽量不要用inv(A)*b命令,而应采用A\b的解法.因为后者的计算速度比前者快、精度高,尤其当矩阵A的维数比较大时.另外,除法命令的适用行较强,对于非方阵A,也能给出最小二乘解.(2)超定方程组对于方程组Ax=b,A为n×m矩阵,如果A列满秩,且n>m.则方程组没有精确解,此时称方程组为超定方程组.线性超定方程组经常遇到的问题是数据的曲线拟合.对于超定方程,在MATLAB中,利用左除命令(x=A\b)来寻求它的最小二乘解;还可以用广义逆来求,即x=pinv(A),所得的解不一定满足Ax=b,x只是最小二乘意义上的解.左除的方法是建立在奇异值分解基础之上,由此获得的解最可靠;广义逆法是建立在对原超定方程直接进行householder变换的基础上,其算法可靠性稍逊与奇异值求解,但速度较快;五、应用1.炼油厂模型某石油公司有5个炼油厂,每个炼油厂都生产5种石油产品:汽油、柴油、煤油、机油、液态石油气.已知从1桶原油中,第一个工厂生产出的汽油、柴油、煤油、机油、液态石油气分别是30、24、18、12、9L;第二、三、四、五个工厂从1桶原油中生产的这五种油分别是28、25、20、10、9;31、23、19、11、10;29、22、17、13、8;27、26、20、13、10L.现在需要104620L汽油,88010L柴油,68660L煤油,43240L机油,33690L液态石油气.本着节约资源与提高效益的原则,问给这5个工厂各安排多少桶原油来生产恰好满足这一需要?解:设分给5个炼油厂的原油桶数分别为x 1,x 2,x 3,x 4,x 5 根据题意我们可以得到以下方程组:⎪⎪⎪⎩⎪⎪⎪⎨⎧=++++=++++=++++=++++=++++336901081099,432401313111012,686602017192018,880102622232524,10462027293128305432154321543215432154321x x x x x x x x x x x x x x x x x x x x x x x x x方程组的系数行列式,0108010810991313111012201719201826222325242729312830≠==D所以方程组有唯一解.经计算知,D 1=864000,D 2=702000,D 3=648000,D 4=626400,D 5=1080000,所以1000580600,650,8005544332211==========D D x D Dx D D x D D x D D x ,,即给第一、二、三、四、五个工厂分别安排800,650,600,580,1000桶原油生产正好满足需要.用MA TLAB 实现如下:2.游船问题某公园在湖的周围设有甲、乙、丙三个游船出租点,游客可以在任意一处租船,也可以在任意一处还船.工作人员估计租船和还船的情况如下表示:还船处 甲乙 丙 借船处甲 乙 0.8 0.2 0.2 0 0 0.8 丙0.20.20.6即从甲处租的船中有80%的在甲处还船,有20%的在乙处还船,等等.为了游客的安全,公园同时要建立一个游船维修站.问游船修检修站建在那个点最好?显然,游船检修站应该修在拥有船只最多的那个出租点.但是,由于租船和还船的随机性,今天拥有船只最多的出租点不一定以后也经常拥有最多的船只.因此我们希望知道经过长时间的经营以后拥有船只最多的那个出租点.我们假定公园里的船只基本上每天都被人租用,设经过长时间的经营,甲、乙、丙处分别有x 1 , x 2 , x 3只船,则x 1 , x 2 , x 3应该满足以下的要求:⎪⎩⎪⎨⎧=+=+=++33223113216.02.0,2.02.0,2.02.08.0xx x x x x x x x x整理可得,⎪⎩⎪⎨⎧=-=+-=++.04.08.0,02.02.0,02.02.02.0-32321321x x x x x x x x即⎪⎩⎪⎨⎧=-=+-=++.02,05,0-32321321x x x x x x x x这表明,经过长期的经营以后,甲、乙、丙三个出租点分别拥有游船总数的316121,,.用MA TLAB 实现如下:由此不难看出,游船检修站应设在拥有船只最多的甲处最为合适.六.总结本文的主要内容就是以行列式、矩阵为工具讨论一些简单的线性方程组解的存在性、求解方法、解的结构以及应用.经过深入的学习我们发现一些方程组的系数矩阵大多比较复杂,我们利用高等代数中的解法并不能得到它的解,就试图用数值分析中的直接法中的最基本的Gauss消去法及其某些变形和迭代法的一些基本理论及Jacobi迭代法、Gauss-Seidel迭代法、超松弛迭代法,以及最小二乘法,并试图应用简单的数学类软件如MATLAB来实现求解.在实际学习和解决问题时,我们会发现很多问题最后的求解过程都是求解线性方程组,因此学习线性方程组对大学生具有重要意义.参考文献[1] 北京大学数学系. 高等代数[M]. 北京: 高等教育出版社, 1988.[2] 张禾瑞, 郝鈵新.高等代数(第四版)[M]. 北京: 高等教育出版社, 1999.[3] 丘维声. 高等代数[M]. 北京: 高等教育出版社, 1996.[4] 许绍元, 赵礼峰. 高等师范院校数学教学改革的研究与实践[J]. 淮北煤炭师范学院学报(自然科学版), 2(2004), 64-68.[5] 许绍元, 陈亮. 实变函数课程教学中培养学生科研能力的体会[J]. 淮北煤炭师范学院学报(自然科学版), 2(2003), 53-56.[6] 赵树嫄. 线性代数(第三版[M]). 北京: 中国人民大学出版社, 2006.[7] 史明仁. 线性代数600证明题详解[M]. 北京: 北京科学技术出版社, 1985.[8] 萧永震等. 空间解析几何解题指导[M]. 天津: 天津科学技术出版社, 1990.[9]陈辉,李文宇,张传芳数值计算方法哈尔滨哈尔滨工业大学出版社,2009.[10]李庆扬,易大义,王能超. 现代数值分析. 北京高等教育出版社,1995.[11]刘春风,何亚丽,应用数值分析北京冶金工业出版社 2005.指导教师职称成绩评语说明:1.成绩评定均采用五级分制,即优、良、中、及格、不及格.2. 评语内容包括:学术价值、实际意义、达到水平、学术观点及论证有无错误等.。

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

线性方程组的求解问题
摘要:线性代数是代数学的一个重要组成部分,广泛应用于现代科学的许多分支。

其核心问题之一就是线性方程组的求解问题。

本文先简要介绍了线性方程组求解的历史,然后给出线性方程组解的结构。

重点介绍了解线性方程组的几种方法:消元法,克拉默法则和利用向量空间概念求解线性方程组的方法。

最后介绍了如何利用Matlab、Excel等常用电脑软件解线性方程。

关键词:线性方程组克拉默法则 Matlab
1.线性方程组求解的历史
线性方程组的解法,早在中国古代的数学著作《九章算术》方程章中已作了比较完整的论述。

其中所述方法实质上相当于现代的对方程组的增广矩阵施行初等行变换从而消去未知量的方法,即高斯消元法。

在西方,线性方程组的研究是在17世纪后期由莱布尼茨开创的。

他曾研究含两个未知量的三个线性方程组组成的方程组。

麦克劳林在18世纪上半叶研究了具有二、三、四个未知量的线性方程组,得到了现在称为克莱姆法则的结果。

克莱姆不久也发表了这个法则。

18世纪下半叶,法国数学家贝祖对线性方程组理论进行了一系列研究,证明了一元齐次线性方程组有非零解的条件是系数行列式等于零。

法国数学家范德蒙不仅对行列式理论本身进行了开创性研究,而且把行列式应用于解线性方程组。

英国数学家凯莱用矩阵表示线性方程组及线性方程组的解。

19世纪,英国数学家史密斯和道奇森继续研究线性方程组理论,前者引进了方程组的增广矩阵和非增广矩阵的概念,后者证明了n个未知数m个方程的方程组相容的充要条件是系数矩阵和增广矩阵的秩相同。

格拉斯曼则使用向量表示线性方程组的解。

2.线性方程组解的结构
n元线性方程组的一个解(c1,c2,……c n)是一个,维向量,当方程组有无穷多个解时,需要研究这些解向量之间的关系,以便更透彻地把握住它们。

关于齐次线性方程组的解的结构有以下结论:
1)定义1齐次线性方程组的一组解η1,η2……ηt称为该方程组的一个基础解系,如果
a)该方程组的任一解都能表成η1,η2……ηt的线性组合。

b)η1η2……ηt线性无关。

2)齐次线性方程组的两个解的和还是解,一个解的倍数还是解。

3)齐次线性方程组有非零解时必定存在基础解系,并且一个基础解系里有n-r个解,
其中n是未知量的个数,r是系数矩阵的秩。

如果系数在数域P中的齐次线性方程组
①的一个基础解系是: η1,η2……ηn-r,则①的全部解为
k1η1+k2η2+……+k n-rηn-r
其中k1,k2,……k n-r取遍取遍数域P中全部数。

3.线性方程组的求解方法
3.1消元法
解线性方程组的最基本最有效的方法是消元法。

它的做法是:先把线性方程组的增广矩阵经过矩阵的初等行变换化成阶梯形,然后去解相应的阶梯形方程组。

或者把线性方程组的增广矩阵经过初等行变换化成行简化阶梯形,从而可立即写出方程组的解。

消元法是求解低阶多元线性方程组的方法,此时线性方程组必须是适定方程组,一般是用于二元一次或三元一次方程组,当未知元增多时,计算效率低甚至无法求解。

3.2克拉默法则
当系数行列式小为零时,适定方程组有惟一解,其解为:
(i=1,2,……,n)
其中D是系数行列式,D是在系数行列式基础之上结合方程组右边常数形成的新行列式)在此法则中,行列式的计算显得非常重要)利用行列式的性质计算行列式最为有效,对于二、三阶行列式可以利用对角线法则计算。

克拉默法则克服了消元法计算效率低甚至无法计算多元一次方程组的缺点,但是对于系数行列式等于零以及欠定或者超定方程组的情况,它是无能为力的)事实上,当未知元数过多时,克拉默法则的计算效率就很低。

3.3利用向量空间概念求解线性方程组
其实就是利用基础解析求解方程组。

这里只说对非齐次线性方程组的解法,齐次方程组也可用类似方法。

设A∈F m*n,b=(b1,b2,……,bn),有非齐次线性
AX=b ②
令,则C总可经过一系列初等变换了初等行变换仅对前,n行施行,初等列变换中,最后一列只能作前而列的倍数加到该列上的变换夕,化为
其中D∈F m*n,E m1=0或(D,E)=r+1
方程组②式有解当民仅当E m1=0。

G中的N的各列为②式的导出组的基础解系,②式有解时,G中U n1为了②式的一个特解.方程组②式有解时,其通解为X = U n1+NH,其中H∈F(n-r)*1, 为任意的。

例1.解线性方程组

E=(0,0,0) ,U=(-2,1,0,0) ,η1=(8,-6,1,0),η2=(-7,5,0,1)
故方程组的一般解为X=U+k1η1+k2η2, k1,k2为任意数.
4.线性方程组的解法在MATLAB中的实践
MATLA B语言是一种以矩阵运算为基础的计算语言,对于实现线性方程组的求解非常方便、对一个四兀一次方程组的求解,可以用克拉默法则和逆阵乘积法来实现,程序如下:
tic;
D=[1 1 1 1 ; 1 2 -1 4 ; 2 -3 -1 -5;3 1 2 11 ];
det(D)
b=[5 -2 -2 0];
D1=[5 1 1 1 ; -2 2-1 4 ; -2 -3 -1 -5 ; 0 1 2 11];
D2=[1 5 1 1 ; 1 -2-1 4 ; 2 -2 -1 -5 ; 3 0 2 11];
D3=[1 1 5 1 ; 1 2 -2 4 ; 2 -3 -2 -5 ; 3 1 0 11];
D4=[1 1 1 5 ; 1 2 -1 -2 ; 2 -3 -1 -2 ; 3 1 2 0];
X1=det(D1)/det(D);
X2==det(D2)/det(D);
X3=det(D3)/det(D);
X4=det(D4)/det(D);
X5=inv(D)*b;
toc
其中克拉默法则用行列式除法X i=det(D i)/det(D)来实现;逆阵乘积法用X=inv(D)*b 来实现; det(D)是系数矩阵D的行列式运算; inv(D)是D的逆阵运算。

上例中,系数矩阵D不为零,可以用克拉默法则和逆阵乘积法来求解。

当系数行列式为零时,只能用初等变换来求解。

对于初等变换,利用阶梯生成函数命令rref也可以轻松地实现,举例如下:
tic;
A=[3,-4,3,2,-1 ; 0, -6,0,-3, -3 ; 4, -3,4,2,-2 ; 1,1,1,0,-1 ; -2,6,-2,1,3] b=[2;-3;2;0;1 ];
B=[A,b],[UB,ip]=rref(B)
U0=UB([1:5], [1:5]),d=UB(:,6)
toc
UB为经过初等变换以后的行阶梯矩阵,可以轻松地求出方程组的解。

可见,MATLAB语言实现线性方程组的求解具有程序简单、直观的特点,同时还具有计算效率高的优点,在实际计算巾摆脱了系数矩阵阶数未知元数等的限制。

5.线性方程组的解法在EXCEL中的实践
例2.
1)把方程组的增广矩阵依次输人到A1; E4单元格区域内。

2)用鼠标拖曳选中区域A5 : D8,其大小与系数矩阵相同,单击“插入”“函数”按
钮出现函数粘贴对话框,选中左侧“数学与三角函数”,再在其右侧选中求逆矩阵函数“MINVRSE",如图。

3)单击“确定”按钮,在对话框的array文本框中填人系数矩阵区域A1: D4,同时按
住Ctrl和Shift键,再敲Enter键,这时系数矩阵的逆矩阵被算出并显示在A5: D8区域。

4)选中单元格区域E5 : E8,单击“粘贴函数”按钮出现函数粘贴对话框如图2,在其
中选中函数“mmult”再单击“确定”按纽,出现对话框如图。

5)在array 1中输人A5:D8,在array2对话框中输人E1:E4,然后,同时按住Ctrl键和
Shift键再敲Enter键,则方程组的解显示在区域D5: D8中,即X1 = 1, X2=2, X3 =3 ,X4=-1。

6.总结
本文首先介绍了一些线性组解法的历史,然后主要介绍了线性方程组的几种解法。

消元法,克拉默法则和利用向量空间概念求解线性方程组,即利用基础解系解方程组。

不仅如此,我认为我们不仅要学会做题目时会用方法解题,也需要具备在电脑上利用不同软件解线性方程组的能力,所以介绍了线性方程组在Matlab和excel中的计算方法。

参考文献
【1】李尚志线性代数 [M] 高等教育出版社
【2】李排昌矩阵与解线性方程组 [J]
中国人民公安大学学报, 2011年,第3期
【3】李桂荣、韩忠月、梁超线性方程组的简便解法 [J]
德州学院学报, 2007年8月,第23卷(第4期)
【4】姬五胜线性方程组解法及其MATLAB实践 [J]
天水师范学院学报 2009年3月,第29卷(第2期)
【5】陈建莉线性方程组解法新探 [J] 纺织高校基础科学学报, 2008年6月,第21卷(第2期)
【6】康国强、尹卫红一类线性方程组的Excel解法 [J]
安阳大学学报
线性方程组的简便解法/p-6611977693614.html
/link?url=iD-32-PwVkxuVHK4kN34k5oq4QP
fTCdPjujrnS4EfnN5bxG1dEf0IV9hX0W5zpUpvufhDI8vQPSBivQippF5yLQkt1
muVq7hx6O-djamscG。

相关文档
最新文档