资源描述:
《数值计算方法_数值线代课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、在没有舍入误差的情况下,经过有限次运算可以得到方程组的精确解的方法。第一章线性方程组的直接解法/*DirectMethodforSolvingLinearSystems*/求解直接法§3.1三角形方程组和三角分解一、三角形方程组的解法考虑下三角形方程组将计算出来,并存入算法3.1.1下三角形方程组的前代法:forend考虑上三角形方程组将计算出来,并存入算法3.1.2上三角形方程组的回代法:forend两种算法的工作量(加减乘除运算次数之和)均为三角分解法的基本思想:记方程组可化为下面两个易求解的三角方程组设已知方程组系数矩阵的三角分解为其中,为下
2、三角矩阵,为上三角矩阵.二、高斯(Gauss)变换取下三角形矩阵则可表示为其中为单位矩阵,称下三角形阵为高斯(Gauss)变换,为高斯向量.Gauss变换的定义高斯(Gauss)变换的性质性质1设向量且则存在唯一的下三角阵,满足证明:寻找满足条件的初等下三角阵记写成分量形式:唯一确定性质2性质3性质4若记,则有即单位下三角阵可以分解为一系列初等下三角阵的乘积三、三角分解的计算Gauss消去法设给定矩阵取Gauss变换矩阵则有再取Gauss变换矩阵其中设给定阶矩阵记Gauss消去法的矩阵表示令Step1:如果高斯变换取其中记类似地,对中的部分重复以
3、上做法Stepk:第k步消元过程的计算公式整个消元过程的矩阵表示上三角矩阵计算经过n-1次消元,并将存放在矩阵零元素位置forforforGauss消去法的消元过程算法Gauss消去法工作量为endendend三角分解的计算过程:Step1Step2Step3Step4Step5Step6Step2n-1Step2(n-1)先计算的行再计算的列依次交替进行对方程组求解,只要得到了系数矩阵的三角分解形式,再利用前代算法和回代算法解两个三角方程组即得.例1:用Gauss消去法求解下列方程组解:系数矩阵(Gauss消去法的实现条件)全不为零的充要条件是的各阶顺
4、序主子式都不等于零,即可用归纳法证明(对k归纳)因此,若矩阵的各阶顺序主子式均不为零,可以采用Gauss消元法进行三角分解。若的顺序主子式均非奇异,则存在唯一的单位下三角阵和上三角阵,满足(矩阵三角分解的一个充分条件)证明:可参照定理3.1.1.§3.2选主元三角分解选主元三角分解的思想三角分解过程中存在的问题Gauss消元法完成的条件是矩阵的各阶顺序主子式(n=1,2,…,n-1)均不为零.三角分解过程中的除法运算要求分母不能太小,否则将可能产生不稳定情况.选主元的目的就是为了完成消元且避免不稳定情况的发生例3:在8位制计算机上解方程组要求用三角
5、分解方法计算。8个解:小主元可能导致计算失败交换方程组的两行8个Gauss全主元三角分解法交换单位矩阵的第列(行)和第列(行)得到的矩(初等置换矩阵)阵,称之为初等置换矩阵.列列Step1(k=1):第1步选择主元寻求和满足然后交换矩阵的第行和行,第列和列设给定阶矩阵记然后按照前面讨论的方法进行三角分解.用矩阵表示:其中,为初等置换矩阵.其中第1步选主元完成后的计算公式:第1步选主元完成后的实际编程计算公式:对中右下角的矩阵重复以上做法即可.Stepk:第k(k=1,2,…,n-1)步选择主元寻求和满足再按照前面讨论的方法进行三角分解.用矩阵表示整个过
6、程:第k步选主元完成后的计算公式:然后交换矩阵的第行和行,第列和列设上述过程可以进行到第r步终止,则有令则有结论:其中为上三角阵,为单位下三角阵,且它的第列对角线以下的元素是由构成的Gauss向量做相应的排列得到的,故的所有元素之模均不会超过1.结论具有什么意义?Gauss全主元三角分解法求解方程组设已经得到三角分解式则原方程组等价于令则注意到的计算可在三角分解的过程中来完成Gauss全主元三角分解法存在的问题选取主元的方法中计算量太大;选取主元的过程中用到列变换,需要记录交换信息.设,则存在排列矩阵,以及单位下三角阵和上三角阵,使得而且的所有元
7、素均满足,的非零对角元的个数正好等于矩阵的秩.(排列矩阵)有限个初等置换矩阵的乘积称之为排列矩阵.全主元Gauss消去法的算法见教材:算法1.2.1Gauss列主元三角分解法Gauss列主元三角分解法与全主元三角分解法的区别就是在消元过程中只作行变换,这样即可以减少选择主元时的逻辑计算量,又可以避免记录交换信息.Stepk:第k(k=1,2,…,n-1)步选择主元寻求满足用矩阵表示整个过程:则有结论:Gauss列主元三角分解法求解方程组设已经得到三角分解式则原方程组等价于令则注意到的计算仍在三角分解的过程中来完成教材中算法1.2.2为列主元Gauss
8、消去法的算法算法:Gauss列主元消去算法求方程组Ax=b的解.输入:增广矩阵A