househ.m

来自「在对矩阵进行拟上三角化的基础上利用带双步位移的QR分解法求解矩阵的特征值」· M 代码 · 共 18 行

M
18
字号
function H=househ(x)
%功能:对于向量x,构造Householder变换矩阵H,使得Hx=(*,0,...,0)',
%其中|*|=norm(x,2).
%输入: 列向量x.
%输出: Householder变换矩阵H.
n=length(x);
I=diag(ones(1,n));
sn=sign(x(1));
if sn==0  sn=1; end
z=x(2:n);
if norm(z,inf)==0
   H=I;return;
end
sigma=-sn*norm(x,2);
u=x;
u(1)=u(1)-sigma;
lo=sigma*(sigma-x(1));
H=I-1.0/lo*u*u';

⌨️ 快捷键说明

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