La décomposition QR est une factorisation matricielle importante en algèbre linéaire. Elle permet d’écrire une matrice comme le produit d’une matrice orthogonale et d’une matrice triangulaire supérieure. Cette décomposition est particulièrement utile pour résoudre des systèmes linéaires, étudier des familles de vecteurs ou encore traiter des problèmes d’approximation. La décomposition QR repose directement sur le procédé d’orthonormalisation de Gram-Schmidt. Elle permet ainsi de transformer une famille de vecteurs linéairement indépendants en une famille orthonormale, tout en conservant les sous-espaces engendrés successivement. Bien que cette notion soit généralement hors programme en prépa ECG, elle peut apparaître dans un sujet guidé faisant intervenir des produits scalaires, des bases orthonormales ou des matrices triangulaires.
Définition de la décomposition QR
Soit \(A\in\mathcal M_{n,p}(\mathbb R)\), avec \(n\geq p\). On suppose que les colonnes de \(A\) sont linéairement indépendantes.
Une décomposition QR de \(A\) est une écriture de la forme :
\[
A=QR
\]
où :
- \(Q\in\mathcal M_{n,p}(\mathbb R)\) possède des colonnes orthonormales ;
- \(R\in\mathcal M_p(\mathbb R)\) est une matrice triangulaire supérieure.
Les colonnes de \(Q\) vérifient donc :
\[
Q^TQ=I_p
\]
Lorsque \(A\) est une matrice carrée de taille \(n\), la matrice \(Q\) est orthogonale et vérifie :
\[
Q^{-1}=Q^T
\]
La matrice \(R\), quant à elle, est de la forme :
\[
R=
\begin{pmatrix}
r_{1,1}&r_{1,2}&\cdots&r_{1,p}\\
0&r_{2,2}&\cdots&r_{2,p}\\
\vdots&\ddots&\ddots&\vdots\\
0&\cdots&0&r_{p,p}
\end{pmatrix}
\]
Interprétation à partir des colonnes
Notons :
\[
A=
\begin{pmatrix}
\vert&&\vert\\
a_1&\cdots&a_p\\
\vert&&\vert
\end{pmatrix}
\]
où \(a_1,\ldots,a_p\) sont les colonnes de \(A\).
La décomposition QR consiste à construire une famille orthonormale :
\[
(q_1,\ldots,q_p)
\]
telle que, pour tout \(k\in\{1,…,p\}\) :
\[
Vect(a_1,\ldots,a_k)
=
Vect(q_1,\ldots,q_k)
\]
Chaque colonne \(a_j\) peut alors s’écrire comme une combinaison linéaire des vecteurs \(q_1,\ldots,q_j\) :
\[
a_j=r_{1,j}q_1+\cdots+r_{j,j}q_j
\]
Les coefficients \(r_{i,j}\) forment la matrice triangulaire supérieure \(R\).
Construction par le procédé de Gram-Schmidt
La méthode la plus classique pour construire une décomposition QR est le procédé d’orthonormalisation de Gram-Schmidt.
On commence par la première colonne \(a_1\). On pose :
\[
u_1=a_1
\]
Puis on normalise ce vecteur :
\[
q_1=\displaystyle \frac{u_1}{\|u_1\|}
\]
Pour construire le deuxième vecteur, on retire à \(a_2\) sa projection orthogonale sur \(q_1\) :
\[
u_2=a_2-\langle a_2,q_1\rangle q_1
\]
Puis :
\[
q_2=\displaystyle \frac{u_2}{\|u_2\|}
\]
Pour le troisième vecteur, on retire à \(a_3\) ses projections sur \(q_1\) et \(q_2\) :
\[
u_3
=
a_3-\langle a_3,q_1\rangle q_1-\langle a_3,q_2\rangle q_2
\]
Puis :
\[
q_3=\displaystyle \frac{u_3}{\|u_3\|}
\]
Plus généralement :
\[
u_k
=
a_k-\sum_{i=1}^{k-1}\langle a_k,q_i\rangle q_i
\]
et :
\[
q_k=\displaystyle \frac{u_k}{\|u_k\|}
\]
Les colonnes de \(A\) étant linéairement indépendantes, les vecteurs \(u_k\) sont non nuls. La normalisation est donc toujours possible.
Construction de la matrice \(R\)
Une fois les vecteurs \(q_1,\ldots,q_p\) construits, on forme la matrice :
\[
Q=
\begin{pmatrix}
\vert&&\vert\\
q_1&\cdots&q_p\\
\vert&&\vert
\end{pmatrix}
\]
Les coefficients de \(R\) sont donnés par :
\[
r_{i,j}=\langle q_i,a_j\rangle
\]
pour \(i\leq j\), tandis que :
\[
r_{i,j}=0
\]
pour \(i>j\).
On peut donc écrire :
\[
R=Q^TA
\]
En effet, comme \(A=QR\), on obtient :
\[
Q^TA=Q^TQR=I_pR=R
\]
Cette relation permet de calculer rapidement \(R\) lorsque \(Q\) est connue.
Exemple de décomposition QR
Considérons la matrice :
\[
A=
\begin{pmatrix}
1&1\\
1&-1\\
0&1
\end{pmatrix}
\]
Ses colonnes sont :
\[
a_1=
\begin{pmatrix}
1\\
1\\
0
\end{pmatrix}
\qquad\text{et}\qquad
a_2=
\begin{pmatrix}
1\\
-1\\
1
\end{pmatrix}
\]
Commençons par normaliser \(a_1\). On a :
\[
\|a_1\|=\sqrt{2}
\]
Donc :
\[
q_1=
\displaystyle \frac{1}{\sqrt{2}}
\begin{pmatrix}
1\\
1\\
0
\end{pmatrix}
\]
Calculons ensuite le produit scalaire :
\[
\langle a_2,q_1\rangle
=
\displaystyle \frac{1}{\sqrt{2}}(1-1)
=
0
\]
Les vecteurs \(a_1\) et \(a_2\) sont donc orthogonaux. Il suffit alors de normaliser \(a_2\).
Comme :
\[
\|a_2\|=\sqrt{3}
\]
on obtient :
\[
q_2=
\displaystyle \frac{1}{\sqrt{3}}
\begin{pmatrix}
1\\
-1\\
1
\end{pmatrix}
\]
La matrice \(Q\) est donc :
\[
Q=
\begin{pmatrix}
\displaystyle \frac{1}{\sqrt{2}}&
\displaystyle \frac{1}{\sqrt{3}}\\
\displaystyle \frac{1}{\sqrt{2}}&
\displaystyle -\frac{1}{\sqrt{3}}\\
0&
\displaystyle \frac{1}{\sqrt{3}}
\end{pmatrix}
\]
Comme les deux colonnes initiales étaient déjà orthogonales, la matrice \(R\) est diagonale :
\[
R=
\begin{pmatrix}
\sqrt{2}&0\\
0&\sqrt{3}
\end{pmatrix}
\]
On vérifie alors que :
\[
A=QR
\]
Existence et unicité de la décomposition
Toute matrice \(A\in\mathcal M_{n,p}(\mathbb R)\) dont les colonnes sont linéairement indépendantes possède une décomposition QR. Cette existence découle directement du procédé de Gram-Schmidt. La décomposition n’est pas toujours unique. En effet, on peut remplacer une colonne de \(Q\) par son opposée et modifier simultanément le signe de la ligne correspondante de \(R\).
Cependant, si l’on impose que tous les coefficients diagonaux de \(R\) soient strictement positifs :
\[
r_{i,i}>0
\]
alors la décomposition QR est unique.
Résolution d’un système linéaire
Supposons que \(A\) soit carrée et inversible et que l’on souhaite résoudre :
\[
AX=B
\]
Si :
\[
A=QR
\]
alors :
\[
QRX=B
\]
En multipliant à gauche par \(Q^T\), on obtient :
\[
RX=Q^TB
\]
Comme \(R\) est triangulaire supérieure, ce système peut être résolu par remontée, en commençant par la dernière équation.
La décomposition QR transforme donc un système quelconque en un système triangulaire plus simple à résoudre.
Application aux moindres carrés
Lorsque \(A\) possède plus de lignes que de colonnes, le système :
\[
AX=B
\]
peut ne pas avoir de solution.
On cherche alors un vecteur \(X\) qui minimise :
\[
\|AX-B\|
\]
Si \(A=QR\), le problème peut être ramené à la résolution du système :
\[
RX=Q^TB
\]
Cette méthode est très utilisée pour déterminer une droite ou une courbe qui approche au mieux un ensemble de données.
Comment reconnaître une question sur la décomposition QR ?
Dans un exercice, plusieurs éléments peuvent annoncer une décomposition QR :
- On demande d’orthonormaliser les colonnes d’une matrice.
- On utilise le procédé de Gram-Schmidt.
- On cherche une écriture \(A=QR\).
- On introduit une matrice \(Q\) vérifiant \(Q^TQ=I_p\).
- On souhaite transformer un système en un système triangulaire.
Il faut alors construire les colonnes de \(Q\), puis calculer :
\[
R=Q^TA
\]
Conclusion
La décomposition QR permet d’écrire une matrice sous la forme :
\[
A=QR
\]
où \(Q\) possède des colonnes orthonormales et où \(R\) est triangulaire supérieure.
Sa construction repose sur le procédé de Gram-Schmidt appliqué aux colonnes de la matrice. Elle relie donc les produits scalaires, les bases orthonormales et les matrices triangulaires.
La décomposition QR est particulièrement utile pour résoudre des systèmes linéaires et des problèmes de moindres carrés. Dans un exercice, dès qu’une orthonormalisation des colonnes apparaît, il faut penser à cette factorisation et à la relation :
\[
R=Q^TA
\]
Tu peux retrouver le méga-répertoire qui contient toutes les annales de concours et les corrigés. Tu peux également accéder à toutes nos autres ressources mathématiques !



