【矩阵计算】特征值计算

一、理论基础

1、Schur分解

如果复矩阵^(×),那么存在一个酉矩阵Q^(×),使得

Q^H AQ=T=D+N

这里D=diag(μ1,⋯,μ),^(×)严格上三角矩阵。进一步可以选取Q使得特征值μ"μ" _i沿对角线按任一给定的次序出现。

2、Schur分解唯一性

当A时正规矩阵(A^H A=AA^H),此时酉矩阵Q是存在唯一的。

二、非对称特征值计算

1.幂法计算非对称矩阵特征值

【矩阵计算】特征值计算_第1张图片

function [rou,iter]=powermethod(A)
n = length(A);
Imax = 1000;
x = zeros(n,1);
x(1) = 1;
rou = 0;
for k = 1:Imax
    temp = rou;
    y = A*x;
    x = y/norm(y);
    rou = x'*A*x
    err = abs(rou - temp);
    if err<1e-5
        iter = k;
        break
    end
end

1.如果A的模最大特征值是一对共轭负根,则幂法可能失效。2.幂法的收敛快慢取决于2/1的大小,2/1越小,收敛越快。 

 2.正交迭代法

【矩阵计算】特征值计算_第2张图片

 

function mu=power_extend(A,p)
n = length(A);
E = eye(n);
Q = zeros(n,p);
Q = E(:,1:p);
for k=1:500
    Z = A*Q;
    [Qt,R]=HouseholderQR(Z);
    Q = Qt(:,1:p);
    S = Q'*A*Q;
    mu = diag(S);
end

3.QR迭代法

基于Schur分解,在一定条件下算法产生的矩阵Q_k收敛到矩阵ASchur分解中的矩阵Q,故矩阵:=_^**Q_k收敛到某一上三角矩阵,即矩阵ASchur分解,从而矩阵T_k的对角元即为A的全部特征根。

【矩阵计算】特征值计算_第3张图片

【矩阵计算】特征值计算_第4张图片

A = [-261 209 -49; -530 422 -98;-800 631 -144];

for k=1:30
    [Q,R]=HouseholderQR(A);
    A= R*Q;
end

tril(A)

你可能感兴趣的:(矩阵计算,矩阵)