资源描述:
《qr基本法和位移qr法矩阵特征值求解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文案实验一:编程实现以下科学计算算法,并举一例应用之。QR基本法和位移QR法矩阵特征值求解1.QR基本法算法说明:QR基本算法是求矩阵特征值的最有效和应用最广泛的一种方法方法,其基本依据是以下两个定理:1)设A是n阶矩阵,其n个特征值为λ1、λ2、…λm,那么存在一个酉矩阵U使得UTAU是以λ1、λ2、…λm为对角元的上三角矩阵。2)设A是n阶实矩阵,那么,存在一个正交矩阵Q,使得QTAQ为一个准上三角矩阵,它的每一个对角元是A的一个特征值,对角元上的二阶块矩阵的两个特征值是A的一对共轭复特征值。QR基本算法的过程如下:给定循环步数M,AT=A,k=1,2,…M,计算:Ak=QkR
2、kAk+1=RkQkQR基本算法有如下的收敛性质:如果A的特征值满足
3、λ1
4、>
5、λ2
6、>
7、λ2
8、≥…≥
9、λm
10、,则QR基本算法产生的矩阵序列{Ak}基本收敛到上三角矩阵(特别,当A为对称阵时,收敛到对角阵),对角元素收敛到A的特征值。在MATLAB中变成实现的QR基本算法的函数为:qrtz功能:QR基本算法求矩阵全部特征值。调用格式:l=qrtz(A,M).其中,A为已知矩阵;M为迭代步数;L为矩阵A的全部特征值。QR基本算法的流程图:YN输入矩阵A,步数Mi=1i11、码如下:精彩文档实用标准文案functionl=qrtz(A,M)fori=1:M[q,r]=qr(A);A=r*q;l=diag(A);endtask11.mformatlongA=[1,5,6;4,7,0;8,11,3]l=qrtz(A,20)disp('¾«È·½â')l=eig(A)运行过程和结果:2.位移QR算法位移QR法是为了加快QR算法的收敛速度,其算法的迭代过程如下:给定循环步数M,A1=Hessenberg(A),k=1,2,…M,选择μk,然后计算:Ak-μkI=QkRkAk+1=QkQk+μkI一般μk的选择有以下两种考虑方法:精彩文档实用标准文案(1)选μk=μk,
12、即瑞利商位移;(2)迭代过程中,如果子矩阵akn-1,n-1akn-1,nakn,n-1akn,n的两个特征值为实数时,选最接近akn,n的那个作为μk,即威尔森位移瑞利商位移QR法流程图如下:YN输入矩阵A,步数MA=hess(A)i=1;n=length(A)i13、数;l为矩阵A的全部特征值瑞利商位移的QR算法的MATLAB程序如下:functionl=rqrtz(A,M)%瑞利商位移QR算法求矩阵全部特征向量¿精彩文档实用标准文案%已知矩阵:A;迭代步数:M;求得的矩阵:l;A=hess(A);N=size(A);n=N(1,1);fori=1:Mu=A(n,n);[q,r]=qr(A-u*eye(n,n));A=r*q+u*eye(n,n);end;l=diag(A);end威尔金森位移的QR算法流程图如下:精彩文档实用标准文案输入矩阵A,步数MYYNNNA=hess(A)i=1;n=length(A)i14、,n))A=r*q+μ*eye(n,n)i=i+1l=diag(A)l=wilkqrtz(A,M)μ=A(n,n)输出lt=chapoly(A((n-1):n,(n-1):n))获得A((n-1):n,(n-1):n)的特征值t(1,1)与t(2,1)是否为实数
15、t(1,1)-A(n,n)
16、<
17、t(2,1)-A(n,n)
18、?μ=t(1,1)μ=t(2,1)Y在MATLAB中编程实现的威尔金森位移的QR算法的函数为:wilkqrtz功能:威尔金森的QR算法求矩阵全部特征值。调用格式:T=wilkqrtz(A,M)其中,A为已知矩阵;M为迭代步数;l为矩阵A的全部特征值威尔金森的QR算法的MA
19、TLAB程序如下:functionl=wilkqrtz(A,M)%威尔金森位移的QR算法求矩阵全部特征值%已知矩阵:A;迭代步数:M;求的矩阵特征值:l精彩文档实用标准文案A=hess(A);N=size(A);n=N(1,1);fori=1:MA1=A((n-1):n,(n-1):n);t=Chapoly(A1);if(imag(t(1,1))==0&&imagt(2,1)==0)%两特征值是否为实数if(abs(t(