Di seguito presentiamo l'implementazione del metodo di fattorizzazione .
function A=fattQR(A) %FATTQR Fattorizza la matrice A come QR con Q matrice ortogonale % ed R triangolare superiore % % A=FATTQR(A) % % I parametri della funzione sono: % A -> la matrice quadrata da fattorizzare % % I valori di ritorno sono: % A -> la matrice modificata contenente nella parte % strettamente triangolare inferiore gli elementi % significativi dei vettori di Householder nella % parte superiore R % % See Also SOLVEQR, FATTLU, FATTPALU, FATTLDLT [m,n]=size(A); for i=1:n (1) alpha=norm(A(i:m,i)); if alpha==0 disp('No rango MAX!!'); return end v1=A(i,i); if v1>=0 v1=v1+alpha; s=1; A(i,i)=-alpha; else v1=v1-alpha; s=-1; A(i,i)=alpha; end (2) A(i+1:m,i)=A(i+1:m,i)/v1; vt=[1;A(i+1:m,i)]; beta=s*v1/alpha; (3) A(i:m,i+1:n)=A(i:m,i+1:n)-(beta*[1;A(i+1:m,i)])* ([1 A(i+1:m,i)']*A(i:m,i+1:n)); end