hessenberg.m

来自「使用QR分解方法计算矩阵特征值的matlab源码」· M 代码 · 共 25 行

M
25
字号
function A=hessenberg(A)
%将矩阵A变换为上Heissenberg矩阵
[m,m]=size(A);
for k=1:m-2
%反复应用Householder变换得到上Heissenberg矩阵
[v,b]=householder(A(k+1:m,k));
H1= eye(m-k)-b*v*v';
H2=eye(m);
for  i=k+1:m
   for  j=k+1:m
       H2(i,j)=H1(i-k,j-k);
   end
end
%Householder变换矩阵
if k==1
H=H2;
else
H=H*H2;
end
A(k+1:m,k:m)=H1*A(k+1:m,k:m);
A(1:m,k+1:m)= A(1:m,k+1:m)*H1;
%经Householder变换得到的正交相似矩阵
end
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?