武汉大学数学与统计学院_数值分析实验报告.doc

武汉大学数学与统计学院_数值分析实验报告.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
武汉大学数学与统计学院_数值分析实验报告

武汉大学数学与统计学院 数值分析实验报告 实验名称 关于正定矩阵cholesky分解的研究 实验时间 2006年 12月 16 日 姓名 雷锦江 班级 05级数类2班 学号 200531000174 成绩 一、实验目的,内容 二、相关背景知识介绍 三、代码 四、数值结果 五、计算结果的分析 六、计算中出现的问题,解决方法及体会 实验目的,内容 通过对正定矩阵cholesky分解问题的深入研究,掌握对矩阵进行cholesky分解的不同方法。同时对C语言的编程方法进行练习,在此基础上,学会使用数学软件matlab对相关问题进行处理。 相关背景知识介绍 定理(Cholesky分解)如果A是对称正定的,则存在惟一的一个对角元全部大于零的下三角 阵,满足。 证明:由对称矩阵的分解定理,存在单位下三角阵L和对角阵D=diag使得A=LD.由于大于零,则矩阵是对角元大于零的实下三角阵.它同时满足.惟一性由分解的惟一性可推得。 分解被称为Cholesky分解,G被称为Cholesky三角阵.如果我们计算Cholesky分解,然后解三角形方程组Gy=b和x=y,则b=Gy=G(x)=Gx=Ax. 在上述定理中,Cholesky分解的证明是构造性的.然而,可以通过利用方程来得到计算Cholesky三角阵的更有效的方法. 例:矩阵 是正定的. 常规Cholesky分解 对于n阶正定矩阵A,可导出按列的次序来计算其Cholesky分解因子G的元素的计算公式。对第k=1,2,…,n列, ,i=k+1,k+2,…,n 基于Gaxpy的Cholesky分解 我们首先导出一个含有大量Gaxpy运算的Cholesky分解的实现方法.比较等式的第j列可得 A(:,j)=. 也就是说, G(j,j)(:,j)=A(:,j)-≡v.(*) 如果G的第j-1列已知,则可计算出v.由(*)中各元素间的相等关系推出 G(j:n,j)=v(j:n)/. 这是数乘的Gaxpy运算。 于是得到基于运算Gaxpy的Cholesky分解计算方法: For j =1:n v(j:n)=A(j:n,j) For k=1:j-1 v(j:n)=v(j:n)-G(j,k)G(j:n,k) End G(j:n,j)=v(j:n)/ End 可以在计算过程中用G覆盖A的下三角部分. 算法(Cholesky分解:基于Gaxpy运算)给出对称正定阵,本算法计算出一个下三角阵满足.对所有i≥j,G(I,j)覆盖A(i,j). For j=1:n If j1 A(j:n,j)=A(j:n,j)-A(j:n,1:j-1) End A(j:n,j)=A(j:n,j)/ End 本算法需flops. 基于外积的Cholesky分解 另一种基于外积(秩为1)的Cholesky分解可通过对矩阵做如下划分得到: (**) 这里,且因是A正定的,故.而是的主子阵,其中 故它也是正定的.如果存在Cholesky分解= ,则由(4.2.6)有,其中 . 因此可通过反复利用(**)来得到最终的Cholesky分解,其方向和kji形式的高斯消去法一样. 算法(Cholesky分解:基于外积运算)给定一对称正定阵.本算法计算满足的下三角阵,对所有的ij,G(i,j)覆盖A(i,j) For k=1:n A(k,k)= A(k+1:n,k)=A(k+1:n,k)/A(k,k) For j=k+1:n A(j:n,j)=A(j:n,j)-A(j:n,k)A(j,k) End End 本算法需flops.注意,其中的j循环计算外积的下三角部分: A(k+1:n,k+1:n) =A(k+1:n,k+1:n)-A(k+1:n,k). 回想在Gaxpy运算和外积运算的比较,容易得知Gaxpy运算中读写向量的次数要比外积运算中少一半. 基于分块点积的Cholesky分解 假定对称正定,将A=()和其Cholesky因子看作含有方块对角块的N*N分块阵.取出等式中关于第(I,j)块(i≥j)的等式有 = 定义 S=- 则有,当i=j时,当ij时, .通过合适的排序,这些方程可用来求得所有的 算法(Cholesky:基于分块点积运算)给定一个对称正定阵,本算法可求得一个下三角阵满足,A的下三角部分被G覆盖,A被看作是含方对角块的N*N分块阵. For j=1:N For i=j:N S=- If i=j 计算Cholesky分解S= Else 从=S解出 End 用覆盖 End End 整个算法需flops,与前述其他形式的Cholesky算法相同.假定A被适当分块,

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档