报告
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
目:
《线性方程组的直接解法及其应用》研究
学院:建工学院
专业:结构工程
组号:16号
成员:xxx
《线性方程组的直接解法及其应用》研究
第一章 对象描述
一、 《线性方程组的直接解法及其应用》描述
在科技、工程、医学、经济等各个领域中,经常遇到求解n阶线性方程组
(1.1)
的问题.方程组(1.1)的系数
和右端项
均为实数,且
、
,……,
不全为零。方程组(1.1)可简记为
其中
,
.
线性方程组的数值解法有两大类,一类是直接法,另一类是迭代法。
本次主要研究的是直接解法。所谓直接法就是经过有限步算术运算,可求得线性方程组精确解的方法(若计算过程中没有舍入误差)。但实际计算中由于舍入误差的存在和影响,这种方法也只能求得现行方程组的近似解。这类算法中最基本的是高斯消元法及其某些变形,它是解决低阶稠密矩阵方程组及某些系数矩阵方程组的有效方法
二、 《线性方程组的直接解法及其应用》的相关概念
1.特征值和特征向量
设
是一个
阶实矩阵,若对于数
,存在非零向量
,使得
成立。则称
是
的特征值(Characteristic Value),
为
的对应于
的特征向量(Characteristic Vector)。
2. 矩阵的谱半径
设
为
阶方阵,
为
的特征值,称特征值模的最大值为矩阵
的谱半径,记为
。
称为矩阵
的谱。
由特征值的定义容易得出,矩阵
的谱是
,因而
3. 常用矩阵
设
为
阶方阵,则:
(1) 对角矩阵:当
时,
。
(2) 三对角矩阵:当
时,
。
(3) 上三角矩阵:当
时,
。
(4) 对称矩阵:
。
(5) 对称正定矩阵:
且对任意非零向量
,有
。
(6) 正交矩阵:
。
(7) 初等矩阵: 由单位矩阵
经过一次初等变换得到的方阵。
4.高斯消去法
高斯消去法(Gauss Elimination Method)是一种规则化的加减消元法。基本思想是通过逐次消元计算把需要求解的线性方程组转化为上三角形方程组,即把线性方程组的系数矩阵转化为上三角矩阵,从而使一般线性方程组的求解转化为等价(同解)的上三角形方程组的求解。
5.列主元消去法
列主元素消去法是为控制舍入误差而提出来的一种算法,在高斯消去法的消元过程中,若出现a=0,则消元无法进行,即使其不为0,但很小,把它作为除数,就会导致其他元素量级的巨大增长和舍入误差的扩散,最后使计算结果不可靠.使用列主元素消去法计算,基本上能控制舍入误差的影响,并且选主元素比较方便。
6.直接三角分解法
如果线性方程组
的系数矩阵已进行三角分解,
=
,则解
等价于求解两个三角形方程组
。直接从矩阵A的元素得到计算L、U元素的递推公式,而不需任何中间步骤,这就是直接三角分解法。
7.平方根法
应用有限元法解结构力学问题时,最后归结为求解线性方程组,系数矩阵大多具有正定性质。所谓平方根法,就是利用对称正定矩阵的三角分解而得到的求解对称正定方程组的一种有效方法,目前在计算机上广泛应用平方根法解此类方程组。
8.追赶法
设
=
其中
为待定系数,根据矩阵乘法规则,可得
如果
,可得
即
方程组可化为求解方程组
和
。解
得
再解
,得方程组的解
上述方法即被称为求解三对角方程组的追赶法。
9.向量范数
若
是向量空间
上的实值函数,且满足条件
(1) 非负性:对任何向量
,
,且
当且仅当
;
(2) 齐次性:对任何实数
和向量
,
;
(3) 三角不等式:对任何向量
,
则称
为向量空间
上的范数,
为向量
的范数。
理论上存在多种多样的向量范数,最常用有如下三种:
(1)
范数
(2)
范数
(3)
范数
10.矩阵范数
若
是以
阶方阵为变量的实值函数,且满足条件:
(1)
,当且仅当
;
(2) 对任意实数
,都有
;
(3) 对任意两个
阶方阵
都有
;
(4)
(相容性条件)。
则称
为矩阵
的范数。
设
阶方阵
,常用的矩阵范数有:
(1)
范数
(2)
范数
(3)
范数
,其中
表示
的最大特征值。
11.病态方程组
如果矩阵
或常数项
的微小变化,引起方程组
解的巨大变化,则称此方程组 为“病态”方程组(Illconclitioned System of Equations),矩阵
称为“病态”矩阵(相对于方程组而言),否则称方程组为“良态”(Well-behaved)方程组,
为“良态”矩阵。
12.条件数
设
为非奇异矩阵,称数
为矩阵
的条件数(Condition Number),记为
常用的条件数有
其中
分别为矩阵的
的最大特征值和最小特征值,故
又称为谱条件数。
特别地,如果
为实对称矩阵,
为
的特征值,且
,则
对方程组
,当
时,方程组是病态的,否则,方程组是良态的。
三、 《线性方程组的直接解法及其应用》的相关理论
定理1:设
,其中
(1) 如果
(k=1,2,…,n),则可通过高斯消去法将
约化为等价的三角形线性方程组,且计算公式为:
1 消元计算(k=1,2,…,n-1)
记
其中,
2 回代计算
(2) 如果A为非奇异矩阵,则可通过高斯消去法(及交换两行的初等变换)将方程组
约化为方程组
定理2 :约化的主元素
(i=1,2,…,k)的充要条件是矩阵A的顺序主子式
(i=1,2,…,k),即:
(i=1,2,…,k)
推论:如果A的顺序主子式
(k=1,2,…,n-1),则
定理3:设A为n阶方阵,若A的顺序主子式
(i=1,2,…,n-1)则矩阵A分解成单位下三角矩阵L与一个上三角矩阵U的乘积,且这种分解是唯一。
定理4:(列主元素的三角分解定理)如果A为非奇异矩阵。则存在排列矩阵P使
其中L为单位下三角矩阵,U为上三角矩阵。
定理5:(对称阵的三角分解定理)设A是对称矩阵,且A的所有顺序主子式均不为零,则A可唯一分解为
其中L为单位下三角形矩阵,D为对角矩阵。
定理6:(对称正定矩阵的三角分解或Choleskg分解)若A是n阶对称正定矩阵,则存在唯一的主对角线元素都为正的下三角阵L,使得:
,当限定L的对角元素为正时,这种分解是唯一的。
定理7:设有三对角线方程组
,其中A满足条件
,
则A为非奇异矩阵且追赶法计算公式中的
,
满足:
(1)
(2)
定理8:设
(或
),则
(1)
,当且仅当
时成立
(2)
,
为实数(或
,
为复数)
(3)
(或
);
(4)
;
(5) (柯西-施瓦茨不等式)
,等式当且仅当x与y线性相关时成立;
(6) 三角不等式
定理9:(
连续性)设非负函数
为
上任一向量范数,则
是
得分量
的连续函数。
定理10:(向量范数的等价性)设
,
为
上向量的任一任意两种范数,则存在常数
使得对一切
有
定理11:
,其中
为向量的任一种范数.
定理12:设
是
上一个向量范数,则
是
上矩阵的范数,且满足相容条件
.
定理13:设
,
,则
(1)
(2)
(3)
其中
表示
的最大特征值
定理14:对任何
,
为任一种算子范数则
(对
也成立)
反之,对任意实数
,至少存在一种算子范数
使
定理15:如果
为对称矩阵,则
.
定理16:如果
,则
为非奇异矩阵,且
其中
是指矩阵的算子范数。
定理17:设
是非奇异阵,
,且
,
则
定理18:设
是非奇异阵,
,且
如果
,则
成立
如果
充分小,且在条件
下,那么
说明矩阵
的相对误差
在解中可能放大
倍。
定理19:(事后误差估计)设
是非奇异阵,
是线性方程组
的精确解,再设
是此方程组的近似解,
,则
四、 《线性方程组的直接解法及其应用》国外研究进展
近十几年来直接法在求解具有较大型稀疏矩阵方程组方面取得了较大进展。关于三对角线性方程组的直接求解已经有大量并行算法, 其中Wang 的分裂法是最早针对实际硬件环境, 基于分治策略提出的并行算法。它不仅通信结构简单, 容易推广到一般带状线性方程组的并行求解, 而且为相继出现的许多其它并行算法提供了可行的局部分解策略。
近20 年来求解三对角方程组的并行算法都是基于分治策略, 即通过将三对角方程组分解成P 个小规模问题, 求解这P个小规模问题, 再将这些解结合起来得到原三对角方程组的解。一般求解三对角方程组的分治方法的计算过程可分为3个阶段: 一是消去, 每台处理机对子系统消元; 二是求解缩减系统( 需要通信) ; 三是回代, 将缩减系统的解回代到每个子系统, 求出最终结果。具体可分为以下几类:
(一) 递推耦合算法(Recurs ive Doubling)
由Stone 于1975 年提出, 算法巧妙地把LU 分解方法的时序性很强的递推计算转化为递推倍增并行计算。D.J.Evans对此方法做了大量研究。P.Dubois 和G.Rodrigue 的研究表明Stone 算法是不稳定的。
(二) 循环约化方法(Cyclic Reduction)
循环约化方法由Hockey 和G.Golub 在1965 年提出, 其基本思想是每次迭代将偶数编号方程中的奇变量消去, 只剩下偶变量, 问题转变成求解仅由偶变量组成的规模减半的新三对角方程组。求解该新方程组, 得到所有的偶变量后, 再回代求解所有的奇变量。即约化和回代过程。由于其基本的算术操作可以向量化, 适合于向量机。此方法有大量学者进行研究,提出了许多改进的方法。例如, Heller 针对最后几步的短向量操作提出了不完全循环约化方法; R.Reulter 结合IBM3090VF向量机的特点提出了局部循环约化法; P.Amodio 针对分布式系统的特点改进了循环约化方法; 最近针对此方法又提出对三对角方程组进行更大约化步的交替迭代策略。
(三) 基于矩阵乘分解算法
将系数矩阵A 分解成
, 方程
化为
和
两个方程组的并行求解。这种算法又可以分为两类:
1.重叠分解。如Wang 的分裂法及其改进算法就属于这一类。P.Amodio 在1993 年对这类算法进行了很好的总结, 用本地LU、本地LUD 和本地循环约化法求解, 并在1995 年提出基于矩阵乘分解的并行QR 算法。H.Michielse 和A.Van der
Vorst改变Wang 算法的消元次序, 提出了通信量减少的算法。李晓梅等将H.Michielse 和A.Van der Vorst 算法中的通信模式从单向串行改为双向并行, 提出DPP 算法, 是目前最好的三对角方程组分布式算法之一。2000 年骆志刚等中依据DPP 算法, 利用计算与通信重叠技术, 减少处理机空闲时间取得了更
好的并行效果。此类算法要求解P- 1 阶缩减系统。
2.不重叠分解。例如Lawrie & Sameh 算法、Johsoon 算法、Baron 算法、Chawla 在1991 年提出的WZ 分解算法以及Mattor在1995 年提出的算法都属于这一类。此类算法要求解2P-2 阶缩减系统。
( 四) 基于矩阵和分解算法
将系数矩阵分解成
, 这类算法的共同特点是利用Sherman & Morrison 公式将和的逆化为子矩阵逆的和。按矩阵分解方法, 这种算法又可分为两类:
1.重叠分解。这类算法首先由Mehrmann 在1990 年提出,通过选择好的分解在计算过程中保持原方程组系数矩阵的结构特性, 具有好的数值稳定性, 需要求解P- 1 阶缩减系统。
2.不重叠分解。Sun 等在1992 年提出的并行划分LU 算法PPT 算法和并行对角占优算法PDD 算法均属于这一类。需要求解2P- 2 阶缩减系统。其中PDD 算法的通讯时间不随处理机的变化而变化, 具有很好的可扩展性。X.H.Sun 和W.Zhang在2002 年提出了两层混合并行方法PTH , 其基本思想是在PDD 中嵌入一个内层三对角解法以形成一个两层的并行, 基本算法是PDD, 三对角系统首先基于PDD 分解。PTH 算法也具有很好的可扩展性。
五、 《线性方程组的直接解法及其应用》国内研究现状
1、并行求解三对角系统的直接解法
李晓梅等将H.Michielse 和A.Van der Vorst 算法中的通信模式从单向串行改为双向并行, 提出DPP 算法, 是目前最好的三对角方程组分布式算法之一。2000 年骆志刚等中依据DPP 算法, 利用计算与通信重叠技术, 减少处理机空闲时间取得了更好的并行效果。此类算法要求解P-1 阶缩减系统。
2、病态线性方程组解法研究
病态线性方程组解法的研究是数值计算研究的一个重要课题.通过
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
病态线性方程组的特点和成因的基础上,对一些传统的算法进行了改进,给出了加权迭代改善法和PSD-PCG法.其改进效果不仅在理论上得到了证明,且同时由几个典型的数值试验得到了验证.本文介绍了求解病态线性方程组的算法类型以及
评价
LEC评价法下载LEC评价法下载评价量规免费下载学院评价表文档下载学院评价表文档下载
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
,并简单介绍了几种有效的解法.讨论了判别方程组性态的意义和方法,同时给出了一种估计条件数的实用
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
.介绍了预处理方法的基本思想后,给出了两种典型的预处理算法.介绍了共轭梯度(CG)法,及其与预处理方法的结合.并提出的PSD-PCG法是解对称正定的稀疏病态线性方程组的有效算法.介绍了实际工程中的一些病态问题,以及应注意的事项,以达到防患于未然的效果.最后指出了研究病态方程组的趋势和主要发展方向.
3、解循环三对角线性方程组的追赶法
循环三对角、循环Toeplitz三对角线性方程组的求解在科学与工程计算中有着
广泛的应用. 运用矩阵分解给出此类方程组的直接解法; 通过分析其特性, 给出了达到机器精度的截断算法, 其计算复杂度几乎等同于求解一个三对角线性方程组的计算复杂度. 数值实验的结果与理论分析的结果十分吻合. 该算法还推广到求解拟三对角线性方程组.
4、基于矩阵分解的周期块三对角线性方程组的并行直接解法
提出了分布式环境下求解周期块三对角线性方程组的一种并行算法.该算法充分利用系
数矩阵结构的特殊性,通过对系数矩阵进行适当分解及近似处理,使算法只在相邻处理机间通信2次,并从理论上给出了算法有效的一个充分条件.最后,在HP rx2600集群上进行了数值试验,结果表明,实算与理论是一致的,并行性也很好.
5、病态线性方程组的新解法:误差转移法
提出了一种求解病态线性方程组的简便有效的新算法,它的主要思想是将直接求解法中的计算误差转移到一个中间量上,从而使得最终解获得很好的精度,因此可极大地缓解一般算法条件预优的困难以及病态方程组的求解难度。数值计算的结果表明,算法对极其病态的线性方程组也可获得较好的精度和稳定性。
6、块三对角线性方程组的并行直接解法
提出了分布式环境下求解块三对角线性方程组的一种并行算法,该算法充分利用系数矩阵结构的特殊性,通过对系数矩阵进行适当分解及近似处理,使算法只在相邻处理机间通信两次.并从理论上给出了算法有效的一个充分条件.最后,在HPrx2600集群上进行了数值实验,结果表明,实算与理论是一致的,并行性也很好.
六、 《线性方程组的直接解法及其应用》方法有多少?
1、高斯消元法
2、列主元Gauss消去法
3、矩阵的杜利特尔(Doolittle)分解
4、直接三角分解法
5、三对角方程组的追赶法
6、改进的平方根法
第二章 算法研究
一、 《线性方程组的直接解法及其应用》方法有多少?
1. 《线性方程组的直接解法及其应用》方法有多少?
(1) 高斯消元法
高斯消去法(Gauss Elimination Method)是一种规则化的加减消元法。基本思想是通过逐次消元计算把需要求解的线性方程组转化为上三角形方程组,即把线性方程组的系数矩阵转化为上三角矩阵,从而使一般线性方程组的求解转化为等价(同解)的上三角形方程组的求解。
高斯消元法的消元过程
求解
元线性方程组的Gauss消元法的一般步骤,将方程组设为如下形式
可简记为
,其中
。
第一步:设
记
,将上式中第i个方程减去第1个方程乘以
,完成第一次消元,得其同解方程组
其中
。此方程组简记为
。
第二步:设
,记
。将上式中第i个方程减去第2个方程乘以
,完成第二次消元。
第
步:设
次消元完成后得原方程组的同解方程组为
简记为
。设
记
。将上方程组中第i个方程减去第k个方程乘以
,完成第k次消元,得同解方程组
其中
。按上述作法,完成
次消元后,原方程组化成同解的上三角方程组
一般简记为
回代过程
按向量的逆序逐步回代得方程组的解
(2) 列主元Gauss消去法
对于线性方程组
,可设
列主元Gauss消去法的具体过程如下:
第一步:首先在上增广矩阵中的第1列中选取绝对值最大的元,比如为
,则
。将第1列与第
列互换。为方便起见,记行互换后的增广矩阵为
,然后进行第一次消元,得矩阵
第二步:在矩阵
的第二列中选主元,比如
,使
。将矩阵
的第2行与第
行互换,再进行第二次消元,得矩阵
。
第
步:在矩阵
的第
列中选主元,如
,使
。将
的第
行与第
行互换,进行第
次消元。
如此经过
步,增广矩阵被化成上三角形,最后由回代过程求解。
(3) 矩阵的杜利特尔(Doolittle)分解
设
,其中
为单位下三角矩阵,
为上三角矩阵。
此分解过程即被称为矩阵的杜利特尔(Doolittle)分解,也被称为
分解。
(4) 直接三角分解法
如果线性方程组
的系数矩阵已进行三角分解,
=
,则解
等价于求解两个三角形方程组
,即由
可求出
再由
解得
(5) 三对角方程组的追赶法
设
=
其中
为待定系数,根据矩阵乘法规则,可得
如果
,可得
即
方程组可化为求解方程组
和
。解
得
再解
,得方程组的解
上述方法即被称为求解三对角方程组的追赶法。
(6) 改进的平方根法
对称正定矩阵
一定有形如
的分解,其中
为单位下三角阵,
为对角阵,矩阵
作
分解后,解方程组
可分两步进行:先解方程组
,再由
求
。具体计算公式为
求解线性方程组的这一方法称为改进的平方根法,也叫
法。
2. 经典的《线性方程组的直接解法及其应用》方法是什么方法?
经典的线性方程组的直接解法是高斯消去法,这是国际上的通用称呼,以数学家高斯命名,大约在1800年,高斯(Gauss)提出了高斯消元法并用它解决了天体计算问题。但高斯消去法实是中国古法,早在公元一世纪时我国东汉初年成书的《九章算术》中已具雏形,至迟在公元263年我国三国时代的数学家刘徽在注解《九章算术》时已经完成,并经我国历朝历代的数学家们沿用至今。目前,高斯消元法以及有它改进、变形得到的选主元素消去法、三角分解法仍然是常用的有效方法。
二、 《线性方程组的直接解法及其应用》方法哪个好?
1. 《线性方程组的直接解法及其应用》的优缺点分析
(1) 高斯消去法
优点:可以预先估计工作量。数据空间为系数矩阵、解向量、与常数向量所占的存储空间,而所需要的额外空间与数据无关。
缺点:利用高斯消去法进行消元时,消元过程能进行到底的充分必要条件是系数矩阵A的各阶顺序主子式不为零。要求
,若
,则消去法过程无法进行;若虽然
,但很小,用其作除数,会导致其他元素数量级的严重增长和舍入误差的扩散,最后也使得计算解不可靠。而且高斯消去法对于某些简单的矩阵可能会失败。
对于良态问题,高斯消去法也可能给出很坏的结果,这说明高斯消去法的算法很不稳定。事实上,一般的矩阵都是病态矩阵,采用高斯消去法一般也不能得到满意的结果。
(2) 列主元消去法
优点:优点在于没有增加求解过程的运算量,但大大减小误差.
缺点:经过列选主元后,虽然避免了
,但其计算过程还是不稳定的,不适于求解大规模的线性方程组。
(3) 直接三角分解法
优点:直接三角分解法的优点在于它的精度比高斯消元法高。
缺点:矩阵A可以进行三角分解是有条件的,它要求A为方阵且A的所有顺序主子式均不等于零。
(4) 平方根法
优点:①计算量为
次乘除法,约为一般高斯消去法的一半。 ②数值稳定。因为
,即
有界,数量级不会增长。 ③存贮量少,可只存贮对角线以下元素。
缺点:平方根法的缺点是需要n个开方运算。
(5) 追赶法
优点:追赶法的计算量是比较小的,追赶法计算公式中不会出现中间结果数量级的巨大增长和舍入误差的严重累积。
缺点:一旦出现
,计算就无法进行下去。
2. 最好的方法是?
最好的方法是直接三角分解法。
(1)由于在求出和后,和就无须保留了,故上机计算时,可把和
,y存在所占的单元,回代时取代
整个计算过程中不需要增加新的存储单元。而且系数矩阵的三角分解与右端常数项无关,故在计算系数矩阵相同而右端项不同的一系列方程组时,用三角分解法更为简便。
(2)如果已经实现了A=LU的分解计算,且L,U保存在A的相应位置,则用直接三角分解法解具有相同系数的方程组
是相当方便的,每解一个方程组
仅需要增加
次运算。
(3)由直接三角分解计算公式,需要计算形如
的式子,可采用“双精度累加”来提高精度。
第三章 算法应用
一、 《线性方程组的直接解法及其应用》方法怎么用?
1. 一般程序设计
(1) 高斯消元法程序举例说明:
Clear[P1,P2,P3,P4,P5,A,A1,A2,A3,A4,A5,A6]
A0={{1,1,1},{0,4,-1},{2,-2,1}};
MatrixForm[%]
b={6,5,1};
X={x1,x2,x3};
A={{1,1,1,6},{0,4,-1,5},{2,-2,1,1}};
MatrixForm[%];
P1={{1,0,0},{0,1,0},{-2,0,1}};
A1=P1.A;
MatrixForm[%];
P2={{1,0,0},{0,1/4,0},{0,0,1}};
A2=P2.A1;
MatrixForm[%];
P3={{1,0,0},{0,1,0},{0,4,1}};
A3=P3.A2;
MatrixForm[%];
P4={{1,0,0},{0,1,0},{0,0,1/(-2)}};
A4=P4.A3;
MatrixForm[%];
P5={{1,0,-1},{0,1,1/4},{0,0,1}};
A5=P5.A4;
MatrixForm[%];
P6={{1,-1,0},{0,1,0},{0,0,1}};
A6=P6.A5;
MatrixForm[%]
LinearSolve[A0,b]
Solve[A0.X==b,{}]
(2) 高斯-若当消元法程序举例说明:
A={{2,3,1,6},{1,4,-1,4},{1,-2,1,1}};
MatrixForm[%]
RowReduce[A];
MatrixForm[%]
x={%[[1,4]],%[[2,4]],%[[3,4]]}
(3) 四阶LU分解程序程举例说明:
A={{1,2,3,4},{1,4,9,16},{1,8,27,64},{1,16,81,256}};
MatrixForm[%];
b={2,10,44,190};
AE=IdentityMatrix[4];
MatrixForm[%];
L1={{1/AE[[1,1]],0,0,0},AE[[2]],AE[[3]],AE[[4]]};
MatrixForm[%];
A1=L1.A;
MatrixForm[%];
L2={AE[[1]],{-A1[[2,1]],1,0,0},{-A1[[3,1]],0,1,0},{-A1[[4,1]],0,0,1}};
A2=L2.A1;
MatrixForm[%];
L3={AE[[1]],{0,1/A2[[2,2]],0,0},AE[[3]],AE[[4]]};
A3=L3.A2;
MatrixForm[%];
L4={AE[[1]],AE[[2]],{0,-A3[[3,2]],1,0},{0,-A3[[4,2]],0,1}};
A4=L4.A3;
L5={AE[[1]],AE[[2]],{0,0,1/A4[[3]][[3]],0},AE[[4]]};
A5=L5.A4;
L6={AE[[1]],AE[[2]],AE[[3]],{0,0,-A5[[4,3]],1}};
A6=L6.A5;
L7={AE[[1]],AE[[2]],AE[[3]],{0,0,0,1/A6[[4,4]]}};
A7=L7.A6;
U=A7;
MatrixForm[%]
L=Inverse[L7.L6.L5.L4.L3.L2.L1];
MatrixForm[%];
L.U;
MatrixForm[%]
LinearSolve[L,b];
y=%
LinearSolve[U,y]
LinearSolve[A,b]
(4) 追赶法参考程序举例说明:
A={{-2,1,0,0},{1,-2,0,0},{0,1,-2,1},{0,0,1,-2}};
b={1,1,0,-1};
I0=IdentityMatrix[4];
MatrixForm[%];
P1={{1/A[[1,1]],0,0,0},I0[[2]],I0[[3]],I0[[4]]};
A1=P1.A;
MatrixForm[%];
P2={I0[[1]],{-A1[[2,1]],1,0,0},I0[[3]],I0[[4]]};
A2=P2.A1;
MatrixForm[%];
P3={I0[[1]],{0,1/A2[[2,2]],0,0},I0[[3]],I0[[4]]};
A3=P3.A2;
MatrixForm[%];
P4={I0[[1]],I0[[2]],{0,-A3[[3,2]],1,0},I0[[4]]};
A4=P4.A3;
MatrixForm[%];
P5={I0[[1]],I0[[2]],{0,0,1/A4[[3,3]],0},I0[[4]]};
A5=P5.A4;
MatrixForm[%];
P6={I0[[1]],I0[[2]],I0[[3]],{0,0,-A5[[4,3]],1}};
A6=P6.A5;
MatrixForm[%];
P7={I0[[1]],I0[[2]],I0[[3]],{0,0,0,1/A6[[4,4]]}};
A7=P7.A6;
MatrixForm[%];
U=A7;
MatrixForm[%]
L=Inverse[P7.P6.P5.P4.P3.P2.P1];
MatrixForm[%]
L.U;
MatrixForm[%]
LinearSolve[L,b];
y=%
LinearSolve[U,y] LinearSolve[A,b]
2. 举例验证
例1 分别用高斯消元法及高斯-若当消元法解线性方程组
解
经回代求解得
。
若对上边的增广矩阵进一步简化,即
则解为
。这种无回代的Gauss消元法称为高斯-若当(Gauss-Jordan)消元法。
(1)高斯消元法Mathematica程序:
Clear[P1,P2,P3,P4,P5,A,A1,A2,A3,A4,A5,A6]
A0={{1,1,1},{0,4,-1},{2,-2,1}};
MatrixForm[%]
b={6,5,1};
X={x1,x2,x3};
A={{1,1,1,6},{0,4,-1,5},{2,-2,1,1}};
MatrixForm[%];
P1={{1,0,0},{0,1,0},{-2,0,1}};
A1=P1.A;
MatrixForm[%];
P2={{1,0,0},{0,1/4,0},{0,0,1}};
A2=P2.A1;
MatrixForm[%];
P3={{1,0,0},{0,1,0},{0,4,1}};
A3=P3.A2;
MatrixForm[%];
P4={{1,0,0},{0,1,0},{0,0,1/(-2)}};
A4=P4.A3;
MatrixForm[%];
P5={{1,0,-1},{0,1,1/4},{0,0,1}};
A5=P5.A4;
MatrixForm[%];
P6={{1,-1,0},{0,1,0},{0,0,1}};
A6=P6.A5;
MatrixForm[%]
LinearSolve[A0,b]
Solve[A0.X==b,{}]
(2)高斯-若当消元法Mathematica程序:
A={{1,1,1,6},{0,4,-1,5},{2,-2,1,1}};
MatrixForm[%];
RowReduce[A];
MatrixForm[%]
x={%[[1,4]],%[[2,4]],%[[3,4]]}
运行结果:
原方程组的解为:
,
,
例2 用LU分解法解线性方程组
解:列表
解方程组:
得原方程组的解:
Mathematica程序:
Clear[A,A1,A2,p1,p2,p3];
A={{3,2,5},{-1,4,3},{1,-1,3}};
MatrixForm[%]
p1={{1,0,0},{-A[[2,1]]/A[[1,1]],1,0},{-A[[3,1]]/A[[1,1]],0,1}};
MatrixForm[%];
A1=p1.A;
MatrixForm[%];
p2={{1,0,0},{0,1,0},{0,-A1[[3,2]]/A1[[2,2]],1}};
MatrixForm[%];
A2=p2.A1;
MatrixForm[%];
L=Inverse[p2.p1];
MatrixForm[%]
U=A2;
MatrixForm[%]
L.U;
MatrixForm[%]
b={6,5,1};
MatrixForm[%];
LinearSolve[L,b]
y=%;
LinearSolve[U,y]
LinearSolve[A,b]
例3 用追赶法解三对角方程组
解:用Doolittle分解形式:
为三对角矩阵,
所以:
或
同解三角方程组为UX=Y,即
Mathematica程序:
S={{-2,1,0,0},{1,-2,0,0},{0,1,-2,1},{0,0,1,-2}};
MatrixForm[%]
AE=IdentityMatrix[4];
MatrixForm[%];
Q1={AE[[1]],{-S[[2,1]]/S[[1,1]],1,0,0},AE[[3]],AE[[4]]};
S1=Q1.S;
MatrixForm[%];
Q2={AE[[1]],AE[[2]],{0,-S1[[3,2]]/S1[[2,2]],1,0},AE[[4]]};
S2=Q2.S1;
MatrixForm[%];
Q3={AE[[1]],AE[[2]],AE[[3]],{0,0,-S2[[4,3]]/S2[[3,3]],1}};
S3=Q3.S2;
MatrixForm[%];
U=S3;
MatrixForm[%]
L=Inverse[Q3.Q2.Q1];
MatrixForm[%]
L.U;
MatrixForm[%]
b={1,1,0,-1};
LinearSolve[L,b]
y=%;
LinearSolve[U,y]
二、《线性方程组的直接解法及其应用》方法用哪好?
1. 《线性方程组的直接解法及其应用》方法在建筑方面的应用
(1) 计算中线性方程组求解
(2) 地下水渗流问题(只适用于规模较小的问题)
(3) 常温下混凝土T梁温度变形实验与计算方法研究
(4) 房屋结构在日照作用下温度场的数值计算
类似应用还有许多,不再一一列举。
2. 《线性方程组的直接解法及其应用》方法在你了解的其他领域的应用
目前在许多实际应用领域,诸如航空、造船、化学化工以及其它结构工程中,常用到线性方程组的直接解法。
第四章 算法展望
线性方程组的解法是最古老的线性问题是线性方程组的解法,在中国古代的数学著作《九章算术.方程》中已经作了比较完整的叙述,其中所述方法实质上相当于现代的对方程组的增广矩阵的行施行初等变换、消去未知量的方法