如果复矩阵∈^(×),那么存在一个酉矩阵Q∈^(×),使得
Q^H AQ=T=D+N
这里D=diag(μ1,⋯,μ),∈^(×)是严格上三角矩阵。进一步可以选取Q使得特征值μ"μ" _i沿对角线按任一给定的次序出现。
当A时正规矩阵(A^H A=AA^H),此时酉矩阵Q是存在唯一的。
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越小,收敛越快。
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
基于Schur分解,在一定条件下算法产生的矩阵Q_k收敛到矩阵A的Schur分解中的矩阵Q,故矩阵:=_^**Q_k收敛到某一上三角矩阵,即矩阵A的Schur分解,从而矩阵T_k的对角元即为A的全部特征根。
A = [-261 209 -49; -530 422 -98;-800 631 -144];
for k=1:30
[Q,R]=HouseholderQR(A);
A= R*Q;
end
tril(A)