矩阵分解在数值计算中的应用.doc

上传人:scccc 文档编号:14491961 上传时间:2022-02-07 格式:DOC 页数:7 大小:204KB
返回 下载 相关 举报
矩阵分解在数值计算中的应用.doc_第1页
第1页 / 共7页
矩阵分解在数值计算中的应用.doc_第2页
第2页 / 共7页
矩阵分解在数值计算中的应用.doc_第3页
第3页 / 共7页
矩阵分解在数值计算中的应用.doc_第4页
第4页 / 共7页
矩阵分解在数值计算中的应用.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《矩阵分解在数值计算中的应用.doc》由会员分享,可在线阅读,更多相关《矩阵分解在数值计算中的应用.doc(7页珍藏版)》请在三一文库上搜索。

1、矩阵分解在数值计算中的应用陈芳芳 数学科学学院 201321100215摘要:本文主要通过矩阵的三角分解,将线性方程组中的系数矩阵进行LU分解,然后利用Matlab求矩阵的LU分解。关键字:矩阵分解 LU分解 矩阵分解是将一个矩阵分解为比较简单的或具有某种特性的若干矩阵的和或乘积。由于矩阵的这些特殊的分解形式,一方面反映了原矩阵的某些数值特性,如矩阵的秩、特征值、奇异值等;另一方面矩阵的分解方法与过程也为数值计算提供了重要的依据。本文主要通过矩阵的三角分解LU分解,来求解线性方程组。1 矩阵的三角分解矩阵的三角分解法是一种有效而应用广泛的分解法,它是将矩阵分解为酉矩阵(或正交矩阵)与一个三角矩

2、阵的乘积或三角矩阵与三角矩阵的乘积。定理1 设,则A可唯一地分解为其中是酉矩阵,是正线上三角矩阵,或可唯一地分解为其中是酉矩阵,是正线下三角矩阵。若矩阵是满秩的n阶实方阵,就可以将此定理推广到实数域上,于是可得一下结论:推论1 设,则A可唯一地分解为其中是正交矩阵,是正线上三角实矩阵,或可唯一地分解为其中是正交矩阵,是正线下三角实矩阵。若是实对称正定矩阵,则存在唯一的正线上三角实矩阵,使定理2 设,用表示下三角复矩阵,表示单位下三角复矩阵,表示上三角复矩阵,表示单位上三角复矩阵,表示对角矩阵,则下列命题成立:(1)的各阶顺序主子式:(2)可唯一地分解为,并且的主对角线上元素不为0;(3)可唯一

3、地分解为,并且的主对角线上元素不为0;(4)可唯一地分解为,并且的主对角线上元素不为0.既然矩阵在理论上有如此漂亮的分解式,那么我们先来看看它在求解大型的线性方程组的数值解法的作用。2 线性方程组的数值解法线性方程组的数值解法有直接解法和迭代法两类。直接法是在没有舍入误差的情况下,通过有限步计算求得方程组的准确解。而迭代法则是建立迭代格式,从初始向量出发,产生向量序列,逐次逼近方程组的准确解。在线性代数中,我们已经了解了求解n阶线性方程组的公式求解法Gramer法则,而对于一个n阶方程组Gramer法则需要计算出包括A的n+1个n阶行列式的值,且每个行列式的计算需要用n!(n-1)次乘法。这需

4、要很大的计算量。而最基本的直接法Gauss消元法就可以大大减少计算量。下面来看看Gauss消元法的过程。2.1 Gauss消元法 主要思想:将一般线性方程组经过初等行变换,化为行简化阶梯形(即上三角形方程组),然后对上三角形方程组直接求解。消元过程的算法:(1) 输入和,;(2) ;(3) 计算, ()如果,则转(3),否则转(4);(4) 如果,则转(2),否则结束。从上面的算法可以知道,在顺利消元过程中,第一步消元所进行的一系列操作,将乘增广矩阵的第一行所得的数据,加到第i(i=1,2n)行数据中,对应的矩阵变换相当于用左乘矩阵A。同理,第二步变换对应的矩阵为第k步变换对应的矩阵为这类矩阵

5、称为Frobenius矩阵,对应的变换为Gauss变换,由此可得,所以有令,由Frobenius矩阵的性质可知是下三角矩阵,于是有其中.由于消元过程所得最后结果是上三角形矩阵,记,则.这就是矩阵A的三角分解,或称为分解或。 如果方程组中系数矩阵A可进行LU分解,则利用LU分解,原方程组求解过程可分两步:(1) 求解方程组;(2) 求解方程组.所得向量x正是原方程组的解。例题:利用矩阵A的LU分解法求解方程组,其中,解:用高斯消元法分解矩阵A,由此得矩阵矩阵A的LU分解第一步,顺代过程求解方程组得第二步,回代过程求解上三角方程组得从上面的例子可以看出,利用矩阵的LU分解可以减少很大的计算量,如果

6、对于大型的矩阵,此方法的优点是可观的。下面将给出矩阵LU分解的Matlab程序。2.2 LU分解的Matlab程序:A=randn(4) %随机生成一个4阶的矩阵 n,n=size(A);for i=1:n L(i,i)=1;endU(1,1)=A(1,1)/L(1,1);if L(1,1)*U(1,1)=0 fprintf(Factorization impossible) else for j=2:n U(1,j)=A(1,j); %/L(1,1); L(j,1)=A(j,1)/U(1,1); endend for i=2:n-1 sum=0; for k=1:i-1 sum=sum+L(

7、i,k)*U(k,i); end U(i,i)=(A(i,i)-sum)/L(i,i); if L(i,i)*U(i,i)=0 fprintf(Factorization impossible) else for j=i+1:n h=0; s=0; for k=1:i-1 h=h+L(i,k)*U(k,j); s=s+L(j,k)*U(k,i); end U(i,j)=1/L(i,i)*(A(i,j)-h); L(j,i)=1/U(i,i)*(A(j,i)-s); end endend sum=0; for k=1:n-1 sum=sum+L(n,k)*U(k,n); U(n,n)=(A(n,

8、n)-sum)/L(n,n); endLU运行结果:A = 0.5377 0.3188 3.5784 0.7254 1.8339 -1.3077 2.7694 -0.0631 -2.2588 -0.4336 -1.3499 0.7147 0.8622 0.3426 3.0349 -0.2050L = 1.0000 0 0 0 3.4108 1.0000 0 0 -4.2012 -0.3781 1.0000 0 1.6035 0.0704 -0.2016 1.0000U = 0.5377 0.3188 3.5784 0.7254 0 -2.3949 -9.4358 -2.5373 0 0 10.1157 2.8029 0 0 0 -0.62463 结束语矩阵理论不仅在数值计算、最优化方法、微分方程、控制理论、数学模型等中有着很重要的作用,而且在其他工程领域也发挥着巨大的作用,比如信号处理、模式识别等。因此利用矩阵理论与方法来处理科学技术的各种问题也越来越少欢迎。4 参考文献【1】黄廷祝、李正良等.矩阵理论.高等教育出版社.2003【2】黄廷祝、钟尔杰等.数值分析.高等教育出版社.20037

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1