Previous Up Next

6.59.2  Décomposition QR : qr

qr a comme argument une matrice carrée numérique A d’ordre n.
qr factorise numériquement cette matrice sous la forme Q*RQ est une matrice orthogonale (tQ*Q=I) et R est une matrice triangulaire supérieure.
qr(A) renvoie Q,R et on a Q=A*inv(R).
On tape :

qr([[3,5],[4,5]])

On obtient les matrices Q, R :

[[3/5,4/5],[4/5,-3/5]],[[5,7],[0,1]]

On tape :

qr([[1,2],[3,4]])

On obtient les matrices Q, R :

[[1/(sqrt(10)),3/((sqrt(10))/5*5)],[3/(sqrt(10)),-1/((sqrt(10))/5*5)]], [[sqrt(10),7*sqrt(10)/5],[0,(sqrt(10))/5]]

Lorsque la matrice est à coefficients réels, on peut ajouter un deuxième argument optionnel -1, -2 ou -3 ou -4 à qr pour forcer l’algorithme de Householder ou Givens (coefficients approchés), ou Gram-Schmidt (coefficients exacts)

On tape :

Q1,R1,Id1:=qr([[3,5],[4,5]],-1)

On obtient les matrices Q1, R1, Id :

[[3/5,4/5],[4/5,-3/5]],[[5,7],[0,1]],[[1,0],[0,1]]

On tape :

Q2,R2,Id2:=qr([[3,5],[4,5]],-2)

On obtient la matrice Q2, R2, Id :

[[3,4/5],[4,-3/5]],[[1,7/5],[0,1]],[[1,0],[0,1]]

On tape :

Q3,R3:=qr([[3,5],[4,5]],-3)

On obtient la matrice Q3, R3 :

[[3/5,4/5],[4/5,-3/5]],[[5,7],[0,1]]

On tape :

Q4,R4:=qr([[3,5],[4,5]],-4)

On obtient la matrice Q4, R4 :

[[3,4/5],[4,-3/5]],[[1,7/5],[0,1]]

Si on pose : A:=[[3,5],[4,5]] on a bien :
A*inv(R1)=Q1, A*inv(R2)=Q2, A*inv(R3)=Q3, A*inv(R4)=Q4


Previous Up Next