% Householder方法
% 注释的地方需要修改
clear
A = [17,3,4;3,1,12;4,12,8]; %所求矩阵
for i=1:length(A)-2
c=A(i+1:end,i);
sigma1=sign(c(1))*norm(c);
e1=eye(size(c));
u=c+sigma1*e1;
beta1=sigma1*(sigma1+c(1));
R=eye(length(c))-u*u'/beta1;
U=eye(length(A));
U(i+1:end,i+1:end)=R;
A=U*A*U;
end
vpa(A,8) % 结果有效数字位数
% 出现极小的数为计算误差,可视为0