Come sempre verifichiamo che il nostro algoritmo funzioni, e per fare questo prendiamo una matrice ortogonale (nel nostro esempio la matrice identità con le colonne invertite, che sappiamo essere ortogonale) ed una matrice triangolare superiore, le moltiplichiamo tra loro ed applichiamo la fattorizzazione al risultato:
» q=[0 1;1 0] q = 0 1 1 0 » r=[5 6; 0 7] r = 5 6 0 7 » a=q*r a = 0 7 5 6 » a1=fattqr(a) a1 = -5 -6 1 7 » r1=triu(a1) r1 = -5 -6 0 7 » v1=[1;1] v1 = 1 1 » p1=eye(2)-2*(v1*v1')/(v1'*v1) p1 = 0 -1 -1 0 » v2=[1] v2 = 1 » p2=eye(1)-2*(v2*v2')/(v2'*v2) p2 = -1 » p2=[eye(1) 0; 0 p2] p2 = 1 0 0 -1 » q1=p1*p2 q1 = 0 1 -1 0 » q1*r1 ans = 0 7 5 6 »
come risultato abbiamo ottenuto la matrice di partenza. Possiamo allora passare ad un esempio con una matrice casuale:
» a=round(10*rand(4)) a = 4 4 5 2 3 6 9 9 3 1 9 2 4 0 3 6 » fattqr(a) ans = -7.07106781186548 -5.23259018078045 -12.16223663640862 -9.19238815542512 0.27097657163519 -5.06162029393751 -3.82486217371702 -3.14128659928206 0.27097657163519 -0.17544975548535 -5.78363461432936 -0.55069379758375 0.36130209551359 -0.38969980181225 -0.00131662244093 -5.50718211451862 »
che contiene nella parte triangolare superiore la matrice .