文献综述-关于方程Ax + d = λx的求解.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本 科 生 毕 业 论 文(设计) 文献综述 姓名与学号 指导教师 年级与专业 MERGEFIELD \年级和专业 2010 信息与计算科学 所在学院 MERGEFIELD \学院 数学系 求解特征值和特征向量的方法 1.1非对称特征值问题的计算方法 (1)幂法。幂法是就是那种一个矩阵的模最大特征值和对应的特征向量的一种迭代方法。假定A是可对角化的矩阵。那么可以得到一个式子uk = Ak*u0 / λk,其中uk是A的特征向量空间中的某个向量,那么当k充分大时,uk就是特征值λk的对应的一个特征向量。可以由此得到一个迭代格式: yk = Auk-1, μk = ζ(k)j, ζ(k)j是yk的模最大分量, uk = yk/μk, 其中u0是任意给定的初始向量,通常要求||u0||∞ = 1。 如果们想要接着求接下来的特征向量和特征值,那么就需要利用已经求得的特征值把原矩阵降阶。最简单实用的收缩技巧是利用正交变换。假设 Ax1 = λ1x1 并假设酉矩阵P使得 Px1 = αe1 这里e1 = (1,0,…,0)T。将上式带入上上式并整理可得 PAP*e1 = λ1e1 即PAP*的右下为一个n-1的矩阵,它的特征值就是A除了λ1以外的特征值。那么对PAP*的右下矩阵继续做幂法即可。而得到P的变换可以使用复的Householder变换来实现。 (2)反幂法。反幂法又称作反迭代法,就是应用幂法作用在A-1上,来求A的模最小特征值和对应的特征向量。因此,其基本迭代格式为 Ayk = zk-1, μk = ζi, ζi是yk的模最大分量, zk = yk/μk。 反幂法主要用来求特征向量,是在用某种方法求得A的某个特征值λi的近似值μi之后,应用反幂法于A-μiI上。也就是说,在实际计算中,常用的是带位移的反幂法。设μ是给定的位移。带原点位移μ的反幂法的迭代格式如下: (A-μI)vk = zk-1, zk = vk / ||vk||2, 从上述的迭代格式上可以看出,反幂法每迭代一次就需要解一个线性方程组,这比幂法的运算量大得多。但是,由于方程组的系数矩阵不随着k变化,所以,可以先把系数矩阵做LU分解,然后就只需要解两个三角矩阵方程组就可以了。 (3)QR方法。QR方法是自电子计算机问世以来矩阵计算的重大进展之一,也是目前计算一般矩阵的全部特征值和特征向量的最有效方法之一。QR方法是利用正交相似变换将一个给定的矩阵逐步约化为上三角矩阵或拟上三角矩阵的一种迭代方法,其基本收敛速度是二次的,当然原矩阵实对称时,可以达到三次收敛。 QR算法的基本迭代格式如下: Am-1 = QmRm, Am = RmQm, 其中Qm为酉矩阵,Rm为上三角矩阵。 QR方法有很多加速和优化的方法,例如双重步位移的QR迭代方法。考虑如下的迭代格式(带位移的QR方法): H1 = Q0TAQ0, Hk – μkI = QkRk, Hk+1 = RkQk + μkI, 这样可以在迭代的过程中会有复数的产生。 如果一开始就给出两个μ值,就可以使用双重步位移的QR方法。 可以提供的代码: function h=DoubleStepQR( H,n ) %双重歩位移QR迭代法 % 输入数据为Hessenberg矩阵H以及矩阵H的阶数n eps=1E-10; m=n-1; s=H(m,m)+H(n,n); t=H(m,m)*H(n,n)-H(m,n)*H(n,m); x=H(1,1)*H(1,1)+H(1,2)*H(2,1)-s*H(1,1)+t; y=H(2,1)*(H(1,1)+H(2,2)-s); z=H(2,1)*H(3,2); for k=0:n-3 [v,beta]=house([x,y,z]); if (k1) q=k; else q=1; end i=eye(length(v))-beta*(v*v); H(k+1:k+3,q:n)=i*H(k+1:k+3,q:n); if (k+4n) r=k+4; else r=n; end H(1:r,k+1:k+3)=H(1:r,k+1:k+3)*i; x=H(k+2,k+1); y=H(k+3,k+1); if (kn-3) z=H(k+4,k+1); end end [v,beta]=house([x,y]); i=eye(length(v))-beta*(v*v); H(

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档