数值分析:QR方法求矩阵特征值和特征向量
(2010-07-08 20:28:06)
标签:
杂谈 |
分类: 生活。我 |
四.实验代码:
function [H,B]=Hessenberg(A)
n=length(A);
B=eye(n);
for k=1:n-2
end
for i=1:n-k
H=A;
一.
二.设计目的:
三.设计原理:
运用Householder矩阵进行QR分解,QR方法为:
B1=B
B1=Q1R1
B2=R1Q1
..
.
.
Bm=QmRm
Bm+1=RmQm
Bm+1与Bm相似,从而特征值相等。
再利用原点位移的反幂法求B(或A)的特征向量。
反幂法用来计算矩阵按模最小的特征值及其特征向量,也可用来计算对应与一个给定近似特征值的特征向量。
设A∈Rn×n
为非奇异矩阵,A的特征值依次记为
对于A-1
应用幂法迭代(称为反幂法),可求得矩阵A-1
的主特征值1/λn
,从而求得A的按模最小的特征值λn
。
任取初始向量ν0 =μ0
≠0,构造向量序列
在反幂法中也可以用原点平移法来加速迭代过程或求其他特征值及特征向量。
如果矩阵(A-pI)-1
存在,
对其应用幂法,得反幂法的迭代公式
反幂法迭代公式中的νk
是通过解方程组
(1)利用镜像变换将A相似变换为Hessenberg B矩阵。记录变换矩阵
五.心得体会:
通过多天课程设计实验,让我了解到自己对数值分析及MATLAB的掌握还很肤浅,了解到了自己的不足,同时意识到自己知识点薄弱的地方,还有对知识的理解有偏差。有的知识点理解的不透彻,自己可以动手做题,但编程实现还需要一定的编程语言知识以及数学知识和机器语言之间的转换。当然也体会到了与同伴合作的愉悦,互相学习,相互取长补短,以及相互进步。
通过这次课程设计,让我学会了很多,首先我要声明这次的课程设计一部分程序实现部分是我自己做的,另外一些是借鉴实验指导书上的程序,但是却让我进一步的理解了这个问题对应的算法,利用QR算法求矩阵特征值及特征向量, 利用镜像变换将A相似变换为Hessenberg B矩阵, 利用QR方法求矩阵B的特征值, 利用原点位移的反幂法求B(或A)的特征向量。
这次课程设计中还存在很多的缺点。我们不能很好的利用已有的知识来解决,这是需要我们改进的地方。
这次的课程设计也让我懂得了一个道理,那就是一个人要想把事做好要一心一意的去做,特别是对于数学方面的知识,一不小心就会把题目理解错,数学是一门逻辑思维很强的学科,因此就更加的要认真细心。所以这次的课程设计不仅锻炼了我的逻辑思维能力也让我做事变的更加认真。有时自己学到的知识只是很少的一部分,重要的在于怎么利用自己已学的知识解决未知的问题。每个复杂的问题都可以提炼出主要的因素,忽略次要因素,更好的用数学知识来解决。
对于该问题,还有一个设想,但此次课程设计由于种种原因没能实现。要结合实际情况,对于给定的矩阵,选择合适的做法,最后衷心的感谢我们的张红芹老师和团队成员,由于张老师的指导意见和我们团队的齐心协力,使我们的合作使此次课程设计顺利完成。
六.参考书:
[1]数值分析教程。主编林成森 科学出版社
[2]
数值代数。
[3]数值分析实验指导书。主编张红芹 高来斌
[4]MATLAB程序设计教程。主编刘卫国,中国水利出版社