用QR方法怎样求矩阵的特征值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用QR方法怎样求矩阵的特征值?相关的知识,希望对你有一定的参考价值。

如:矩阵已经是对称矩阵

参考技术A A=Q R
A1=R Q=Q1 R1
A2=R1 Q1=Q2 R2
...

注意所有的A,A1,...相似(A1=RQ=Q^T A Q =Q^-1 A Q),具有相同的特征值。在一定条件下最终收敛到一个上三角阵,把对角线上的元拿出来就是特征值。事实上,因为A是对称矩阵,A1=Q1^T A Q 所以A1是对称阵(显然A1^T=A1),以此类推,A2,A3...都是对称阵。所以当A是对称阵时An收敛于对角阵(既是上三角阵又是对称阵,所以是对角阵),对角线上的元素就是特征值。
参考技术B

对称矩阵用雅可比迭代法求特征值;一般矩阵 (非对称矩阵) 用QR迭代法求特征值。看下面例题。

matlab用QR方法怎么求特征值,把程序写出来,谢谢

题目是用基本QR算法就全部特征值(可用matlab函数“qr”实现矩阵的QR分解)矩阵是nxn的,谢谢

function l = rqrtz(A,M)
%QR算法求矩阵全部特征值
%已知矩阵:A
%迭代步数:M
%求得的矩阵特征值:l

A = hess(A);
for i=1:M
N = size(A);
n = N(1,1);
u = A(n,n);
[q,r]=qr(A-u*eye(n,n));
A = r*q+u*eye(n,n);
l = diag(A);
end

------------------------------------
A=[0 5 0 0 0 0;1 0 4 0 0 0;0 1 0 3 0 0;0 0 1 0 2 0;0 0 0 1 0 1;0 0 0 0 1 0]

A =

0 5 0 0 0 0
1 0 4 0 0 0
0 1 0 3 0 0
0 0 1 0 2 0
0 0 0 1 0 1
0 0 0 0 1 0

>> rqrtz(A,50)

ans =

-3.2030
3.2030
-1.8837
1.8837
-0.6167
0.6167

>> eig(A)

ans =

-3.3243
3.3243
-1.8892
-0.6167
1.8892
0.6167
参考技术A 看matlab帮助文件,里边都有例程,电脑没有安装matlab,懒得安装了,但是我知道帮助文件里有这个例子

以上是关于用QR方法怎样求矩阵的特征值?的主要内容,如果未能解决你的问题,请参考以下文章

matlab QR分解用啥算法实现的

matlab中如何用qr函数求特征值和特征向量,矩阵是mxn

qr分解怎么求特征向量,求矩阵E的特征值和特征向量

急求,matlab中, 已知矩阵A,已完成对A的QR分解,下一步求A的特征值和特征向量,程序怎么编写?

matlab QR分解 求矩阵的特征值

关于MATLAB自己编程求解特征值的问题?(比如QR法,幂法,牙可比跌代法,等)请教高手