Householder Reflection QR=A
Mostrar comentarios más antiguos
function [Q,R] = househ(A)
%QR-Zerlegung mit Householder
[m,n]=size(A);
Q = eye(m);
D = eye(m);
p = min(m-1,n);
for k=1:p
%untermatrix erstellen / define sub-matrix
x = A(:,k);
if k == 1
x = A(:,k);
elseif k <= p
for i = 1:(k-1)
x(i) = 0;
end
else
continue
end
%Formeln aus dem Buch / equation of the book
a = -sign(A(k,k))*norm(x);
v = x - a*D(:,k);
H = D-2*(v*v')/(v'*v);
% ---------------------------------
if k == 1
Q=H;
else
Q = Q*H;
end
A=H*A;
end
A(find(A==-0))=0; % unnecessary
R=A;
Q=Q';
end
Here u can see my Householder transformation. The Code under the hyphens is wrong but I don´t know why ... can someone help me.
1 comentario
VIERI
el 28 de Abr. de 2023
it doesent work
Respuestas (1)
Monisha Nalluru
el 18 de Sept. de 2020
0 votos
Refer to this blog post which explains on Household Refelection and Household QR factorization with sample code for understanding.
Categorías
Más información sobre Mathematics en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!