Rédigé et vérifié par un professeur diplômé de l’École Polytechnique, avec le niveau d’exigence attendu en classe préparatoire. Découvrir le professeur

Le procédé de Gram-Schmidt transforme toute famille libre d’un espace euclidien en une famille orthonormée engendrant les mêmes sous-espaces. Incontournable dès la MPSI pour les premières constructions de base orthonormée (BON), il revient en MP, PC et PSI dans les problèmes de projection, d’approximation et de décomposition QR. Voici la méthode en 4 étapes, avec des exemples résolus dans \(\mathbb{R}^3\), les polynômes et les matrices, des exercices type concours et les pièges à éviter.

I. Théorème de Gram-Schmidt : énoncé et conditions d’application

A. Énoncé formel

Théorème — Procédé d’orthonormalisation de Gram-Schmidt

Soit \((E, \langle \cdot, \cdot \rangle)\) un espace euclidien et \((v_1, \ldots, v_n)\) une famille libre de \(E\).

Il existe une unique famille orthonormée \((e_1, \ldots, e_n)\) telle que :

  1. Pour tout \(k \in \{1, \ldots, n\}\), \(\mathrm{Vect}(e_1, \ldots, e_k) = \mathrm{Vect}(v_1, \ldots, v_k)\).
  2. Pour tout \(k\), \(\langle e_k, v_k \rangle\) > \(0\) (convention de signe assurant l’unicité).

Conditions d’application. Pour appliquer le procédé de Gram-Schmidt, il faut :

  • un espace euclidien, c’est-à-dire un espace vectoriel réel de dimension finie muni d’un produit scalaire ;
  • une famille libre (si la famille est liée, le procédé échoue car l’un des vecteurs intermédiaires \(w_k\) est nul).

En pratique, on applique Gram-Schmidt le plus souvent à une base de \(E\) ou d’un sous-espace \(F\), ce qui garantit automatiquement la liberté.

B. Quand utiliser le procédé ? Tableau comparatif

Le procédé de Gram-Schmidt n’est pas la seule façon d’obtenir une base orthonormée. Voici un récapitulatif pour savoir quand l’utiliser — et quand préférer une autre approche.

Quand utiliser Gram-Schmidt ?
Objectif Méthode Avantage Limitation
Construire une BON à partir d’une famille libre quelconque Gram-Schmidt Universel, constructif, conserve les sous-espaces Calculs lourds si \(\dim E\) est grande
Trouver une BON de vecteurs propres d’un endomorphisme symétrique Théorème spectral Donne directement les valeurs propres et la diagonalisation Limité aux endomorphismes auto-adjoints
Compléter un vecteur en BON directe dans \(\mathbb{R}^3\) Produit vectoriel + normalisation Très rapide en dimension 3 Limité à \(\mathbb{R}^3\)
Décomposition QR numériquement stable Réflexions de Householder Stabilité numérique supérieure Hors programme CPGE classique

Règle de choix rapide

On te donne une famille libre et on te demande une BON ? → Gram-Schmidt. On te donne une matrice symétrique réelle et on te demande une BON de vecteurs propres ? → Théorème spectral (diagonaliser puis orthonormaliser chaque sous-espace propre).


II. Méthode pas à pas en 4 étapes

Le procédé de Gram-Schmidt repose sur une idée géométrique simple : à chaque étape, on retire du nouveau vecteur ses composantes dans les directions déjà construites, puis on normalise le résidu.

A. Étape 1 — Normaliser le premier vecteur

On pose :

\(e_1 = \displaystyle\frac{v_1}{\Vert v_1 \Vert}\)

Ce premier vecteur donne la direction de départ de la BON. Comme \((v_1, \ldots, v_n)\) est libre, \(v_1 \neq 0\), donc la division est légitime.

B. Étape 2 — Orthogonaliser le deuxième vecteur

On soustrait de \(v_2\) sa projection sur \(e_1\) :

\(w_2 = v_2 – \langle v_2, e_1 \rangle\, e_1\)

Le vecteur \(w_2\) est orthogonal à \(e_1\) par construction, et \(w_2 \neq 0\) car \((v_1, v_2)\) est libre.

C. Étape 3 — Normaliser pour obtenir \(e_2\)

\(e_2 = \displaystyle\frac{w_2}{\Vert w_2 \Vert}\)

On a maintenant \((e_1, e_2)\) orthonormée, avec \(\mathrm{Vect}(e_1, e_2) = \mathrm{Vect}(v_1, v_2)\).

D. Étape 4 — Itérer : orthogonaliser puis normaliser chaque vecteur suivant

Pour chaque \(k \geq 2\), on répète le même schéma : retirer les projections sur tous les vecteurs déjà construits, puis normaliser.

Formules générales du procédé de Gram-Schmidt

Pour \(k \in \{2, \ldots, n\}\) :

Orthogonalisation : \(w_k = v_k – \displaystyle\sum_{i=1}^{k-1} \langle v_k, e_i \rangle\, e_i\)

Normalisation : \(e_k = \displaystyle\frac{w_k}{\Vert w_k \Vert}\)

Illustration en 2D du procédé de Gram-Schmidt. Deux vecteurs v₁ (bleu #1f4acc) et v₂ (or #caa85a) partant de l'origine.

À écrire sur la copie (modèle de rédaction)

« On applique le procédé d’orthonormalisation de Gram-Schmidt à la famille libre \((v_1, \ldots, v_n)\). »

Puis, pour chaque étape : poser \(w_k\), vérifier \(w_k \neq 0\) (par liberté de la famille), calculer \(\Vert w_k \Vert\), poser \(e_k\). Conclure : « La famille \((e_1, \ldots, e_n)\) est orthonormée et vérifie \(\mathrm{Vect}(e_1, \ldots, e_k) = \mathrm{Vect}(v_1, \ldots, v_k)\) pour tout \(k\). »

🎁 EN BONUS

La méthode Gram-Schmidt en fiche recto-verso

Les 4 étapes, les formules, les pièges à éviter et un exemple résolu — tout sur une fiche prête à imprimer.

📄 Télécharger la fiche méthode

Pour réviser Gram-Schmidt en 5 minutes avant ta colle.


III. Exemples résolus

A. 🟠 Prépa — Orthonormalisation dans \(\mathbb{R}^3\)

Exemple 1 — Orthonormaliser \((v_1, v_2, v_3)\) dans \(\mathbb{R}^3\) canonique

On pose \(v_1 = (1, 1, 0)\), \(v_2 = (1, 0, 1)\), \(v_3 = (0, 1, 1)\).

Étape 1. \(\Vert v_1 \Vert = \sqrt{1 + 1 + 0} = \sqrt{2}\), donc :

\(e_1 = \displaystyle\frac{1}{\sqrt{2}}(1, 1, 0)\)

Étape 2. On calcule \(\langle v_2, e_1 \rangle = \displaystyle\frac{1}{\sqrt{2}}(1 \cdot 1 + 0 \cdot 1 + 1 \cdot 0) = \displaystyle\frac{1}{\sqrt{2}}\).

\(w_2 = v_2 – \langle v_2, e_1 \rangle\, e_1 = (1, 0, 1) – \displaystyle\frac{1}{\sqrt{2}} \cdot \displaystyle\frac{1}{\sqrt{2}}(1, 1, 0) = (1, 0, 1) – \left(\displaystyle\frac{1}{2}, \displaystyle\frac{1}{2}, 0\right) = \left(\displaystyle\frac{1}{2}, -\displaystyle\frac{1}{2}, 1\right)\)

\(\Vert w_2 \Vert = \sqrt{\displaystyle\frac{1}{4} + \displaystyle\frac{1}{4} + 1} = \sqrt{\displaystyle\frac{3}{2}} = \displaystyle\frac{\sqrt{6}}{2}\), donc :

\(e_2 = \displaystyle\frac{1}{\sqrt{6}}(1, -1, 2)\)

Étape 3. On calcule :

  • \(\langle v_3, e_1 \rangle = \displaystyle\frac{1}{\sqrt{2}}(0 + 1 + 0) = \displaystyle\frac{1}{\sqrt{2}}\)
  • \(\langle v_3, e_2 \rangle = \displaystyle\frac{1}{\sqrt{6}}(0 – 1 + 2) = \displaystyle\frac{1}{\sqrt{6}}\)

\(w_3 = v_3 – \displaystyle\frac{1}{\sqrt{2}}\,e_1 – \displaystyle\frac{1}{\sqrt{6}}\,e_2 = (0, 1, 1) – \left(\displaystyle\frac{1}{2}, \displaystyle\frac{1}{2}, 0\right) – \left(\displaystyle\frac{1}{6}, -\displaystyle\frac{1}{6}, \displaystyle\frac{1}{3}\right) = \left(-\displaystyle\frac{2}{3}, \displaystyle\frac{2}{3}, \displaystyle\frac{2}{3}\right)\)

\(\Vert w_3 \Vert = \displaystyle\frac{2}{\sqrt{3}}\), donc :

\(e_3 = \displaystyle\frac{1}{\sqrt{3}}(-1, 1, 1)\)

Résultat : la BON obtenue est \(\left(\displaystyle\frac{1}{\sqrt{2}}(1,1,0),\;\displaystyle\frac{1}{\sqrt{6}}(1,-1,2),\;\displaystyle\frac{1}{\sqrt{3}}(-1,1,1)\right)\).

Vérification : \(\langle e_1, e_2 \rangle = \displaystyle\frac{1}{\sqrt{12}}(1 – 1 + 0) = 0\) ✓ — \(\langle e_1, e_3 \rangle = \displaystyle\frac{1}{\sqrt{6}}(-1 + 1 + 0) = 0\) ✓ — \(\langle e_2, e_3 \rangle = \displaystyle\frac{1}{\sqrt{18}}(-1 – 1 + 2) = 0\) ✓

B. 🟠 Prépa — Polynômes \((1, X, X^2)\) avec produit scalaire intégral

Cet exemple est un classique absolu de kholle et de concours. On travaille dans \(E = \mathbb{R}_2[X]\) muni du produit scalaire :

\(\langle P, Q \rangle = \displaystyle\int_0^1 P(t)\,Q(t)\,dt\)

Exemple 2 — Orthonormaliser \((1, X, X^2)\) dans \((\mathbb{R}_2[X], \langle \cdot, \cdot \rangle)\)

Étape 1. \(\Vert 1 \Vert^2 = \displaystyle\int_0^1 1\,dt = 1\), donc \(e_1 = 1\).

Étape 2. \(\langle X, e_1 \rangle = \displaystyle\int_0^1 t\,dt = \displaystyle\frac{1}{2}\).

\(w_2 = X – \displaystyle\frac{1}{2}\).

\(\Vert w_2 \Vert^2 = \displaystyle\int_0^1 \left(t – \displaystyle\frac{1}{2}\right)^2 dt = \displaystyle\frac{1}{3} – \displaystyle\frac{1}{2} + \displaystyle\frac{1}{4} = \displaystyle\frac{1}{12}\), donc \(\Vert w_2 \Vert = \displaystyle\frac{1}{2\sqrt{3}}\) et :

\(e_2 = 2\sqrt{3}\left(X – \displaystyle\frac{1}{2}\right)\)

Étape 3. On calcule les deux produits scalaires :

  • \(\langle X^2, e_1 \rangle = \displaystyle\int_0^1 t^2\,dt = \displaystyle\frac{1}{3}\)
  • \(\langle X^2, e_2 \rangle = 2\sqrt{3}\displaystyle\int_0^1 t^2\left(t – \displaystyle\frac{1}{2}\right)dt = 2\sqrt{3}\left(\displaystyle\frac{1}{4} – \displaystyle\frac{1}{6}\right) = \displaystyle\frac{\sqrt{3}}{6}\)

\(w_3 = X^2 – \displaystyle\frac{1}{3} – \displaystyle\frac{\sqrt{3}}{6} \cdot 2\sqrt{3}\!\left(X – \displaystyle\frac{1}{2}\right) = X^2 – \displaystyle\frac{1}{3} – \left(X – \displaystyle\frac{1}{2}\right) = X^2 – X + \displaystyle\frac{1}{6}\)

\(\Vert w_3 \Vert^2 = \displaystyle\int_0^1 \left(t^2 – t + \displaystyle\frac{1}{6}\right)^2 dt = \displaystyle\frac{1}{180}\), donc \(\Vert w_3 \Vert = \displaystyle\frac{1}{6\sqrt{5}}\) et :

\(e_3 = 6\sqrt{5}\left(X^2 – X + \displaystyle\frac{1}{6}\right) = \sqrt{5}\,(6X^2 – 6X + 1)\)

Lien avec les polynômes de Legendre

Les polynômes \(6X^2 – 6X + 1\), \(2X – 1\) et \(1\) sont exactement les polynômes de Legendre décalés sur \([0, 1]\). Le procédé de Gram-Schmidt appliqué à \((1, X, X^2, \ldots)\) engendre systématiquement les polynômes orthogonaux associés au produit scalaire choisi. Retiens cette idée : elle apparaît régulièrement dans les sujets de concours (Mines, Centrale).

C. 🟠 Prépa — Application : projection orthogonale et distance à un sous-espace

Une fois la BON construite, Gram-Schmidt permet de calculer immédiatement la projection orthogonale sur un sous-espace et la distance à celui-ci.

Exemple 3 — Projeter un vecteur sur un plan dans \(\mathbb{R}^3\)

Soit \(F = \mathrm{Vect}(v_1, v_2)\) avec \(v_1 = (1, 1, 0)\) et \(v_2 = (1, 0, 1)\). Calculer \(p_F(u)\) pour \(u = (2, 3, 1)\).

Méthode. On reprend \(e_1, e_2\) de l’Exemple 1 (les deux premiers vecteurs de la BON). La projection vaut :

\(p_F(u) = \langle u, e_1 \rangle\, e_1 + \langle u, e_2 \rangle\, e_2\)

\(\langle u, e_1 \rangle = \displaystyle\frac{1}{\sqrt{2}}(2 + 3) = \displaystyle\frac{5}{\sqrt{2}}\) et \(\langle u, e_2 \rangle = \displaystyle\frac{1}{\sqrt{6}}(2 – 3 + 2) = \displaystyle\frac{1}{\sqrt{6}}\).

\(p_F(u) = \displaystyle\frac{5}{\sqrt{2}} \cdot \displaystyle\frac{1}{\sqrt{2}}(1, 1, 0) + \displaystyle\frac{1}{\sqrt{6}} \cdot \displaystyle\frac{1}{\sqrt{6}}(1, -1, 2) = \displaystyle\frac{5}{2}(1, 1, 0) + \displaystyle\frac{1}{6}(1, -1, 2) = \left(\displaystyle\frac{8}{3}, \displaystyle\frac{7}{3}, \displaystyle\frac{1}{3}\right)\)

Distance : \(d(u, F) = \Vert u – p_F(u) \Vert = \left\Vert\left(-\displaystyle\frac{2}{3}, \displaystyle\frac{2}{3}, \displaystyle\frac{2}{3}\right)\right\Vert = \displaystyle\frac{2}{\sqrt{3}}\).

Logo-excellence-maths
Tu veux progresser durablement en maths de prépa ?
Avec un professeur diplômé de Polytechnique, bienveillant et exigeant, tu construis des bases solides et tu gagnes en confiance. Résultats visibles dès les premières semaines.

D. 🔴 Concours — Décomposition QR via Gram-Schmidt

En appliquant le procédé de Gram-Schmidt aux colonnes d’une matrice inversible \(A\), on obtient directement sa décomposition QR : \(A = QR\), où \(Q\) est une matrice orthogonale et \(R\) est triangulaire supérieure.

Exemple 4 — Décomposition QR de \(A\)

Reprenons \(A = \begin{pmatrix} 1 & 1 & 0 \\ 1 & 0 & 1 \\ 0 & 1 & 1 \end{pmatrix}\) dont les colonnes sont \(v_1, v_2, v_3\) de l’Exemple 1.

Le procédé donne \(Q = \begin{pmatrix} e_1 & e_2 & e_3 \end{pmatrix}\) et \(R\) se lit dans les coefficients de projection :

\(R = \begin{pmatrix} \Vert v_1 \Vert & \langle v_2, e_1 \rangle & \langle v_3, e_1 \rangle \\ 0 & \Vert w_2 \Vert & \langle v_3, e_2 \rangle \\ 0 & 0 & \Vert w_3 \Vert \end{pmatrix} = \begin{pmatrix} \sqrt{2} & \displaystyle\frac{1}{\sqrt{2}} & \displaystyle\frac{1}{\sqrt{2}} \\[6pt] 0 & \displaystyle\frac{\sqrt{6}}{2} & \displaystyle\frac{1}{\sqrt{6}} \\[6pt] 0 & 0 & \displaystyle\frac{2}{\sqrt{3}} \end{pmatrix}\)

Vérification : \(\det(A) = \det(R) = \sqrt{2} \cdot \displaystyle\frac{\sqrt{6}}{2} \cdot \displaystyle\frac{2}{\sqrt{3}} = \sqrt{2} \cdot \sqrt{6} \cdot \displaystyle\frac{1}{\sqrt{3}} = \sqrt{2} \cdot \sqrt{2} = 2\). ✓


IV. Erreurs fréquentes et pièges classiques

Voici les erreurs les plus sanctionnées en colle et en concours. Pour chaque piège, tu trouveras une copie fautive, le diagnostic, puis la correction.

Erreur 1 — Oublier de soustraire TOUTES les projections

Copie fautive : « \(w_3 = v_3 – \langle v_3, e_2 \rangle\, e_2\) »

🔍 Diagnostic : L’étudiant a oublié de retrancher la projection sur \(e_1\). Le vecteur \(w_3\) obtenu n’est pas orthogonal à \(e_1\).

Correction : \(w_3 = v_3 – \langle v_3, e_1 \rangle\, e_1 – \langle v_3, e_2 \rangle\, e_2\). On soustrait les projections sur tous les \(e_i\) précédents.

Erreur 2 — Projeter sur les \(v_i\) au lieu des \(e_i\)

Copie fautive : « \(w_2 = v_2 – \langle v_2, v_1 \rangle\, v_1\) »

🔍 Diagnostic : La formule \(\langle v_2, u \rangle\, u\) n’est la projection sur \(u\) que si \(\Vert u \Vert = 1\). Si \(u\) n’est pas unitaire, la bonne formule est \(\displaystyle\frac{\langle v_2, u \rangle}{\langle u, u \rangle}\, u\).

Correction : Deux options correctes :

  • Travailler avec les \(e_i\) (déjà normalisés) : \(w_2 = v_2 – \langle v_2, e_1 \rangle\, e_1\).
  • Travailler directement avec les \(v_i\) : \(w_2 = v_2 – \displaystyle\frac{\langle v_2, v_1 \rangle}{\Vert v_1 \Vert^2}\, v_1\) (« Gram-Schmidt sans normalisation intermédiaire »).

Erreur 3 — Confondre orthogonalisation et orthonormalisation

Copie fautive : « On obtient \(w_2 = \left(\displaystyle\frac{1}{2}, -\displaystyle\frac{1}{2}, 1\right)\). Donc \(e_2 = w_2\). »

🔍 Diagnostic : \(w_2\) est orthogonal à \(e_1\) mais \(\Vert w_2 \Vert \neq 1\). L’étudiant a fait l’orthogonalisation mais pas la normalisation.

Correction : Toujours poser \(e_k = w_k / \Vert w_k \Vert\) après chaque orthogonalisation.

Erreur 4 — Appliquer Gram-Schmidt à une famille liée

🔍 Diagnostic : Si la famille \((v_1, \ldots, v_n)\) n’est pas libre, il existe un indice \(k\) tel que \(v_k \in \mathrm{Vect}(v_1, \ldots, v_{k-1})\). Alors \(w_k = 0\) et la normalisation \(e_k = w_k / \Vert w_k \Vert\) est impossible.

Prévention : Avant d’appliquer Gram-Schmidt, vérifier que la famille est libre (calcul de déterminant, ou échelonnement).


V. Exercices d’application

Quatre exercices classés par difficulté croissante, du calcul direct (★) au problème type concours (★★★). Les corrections sont détaillées pas à pas.

Exercice 1 (★) — Orthonormalisation dans \(\mathbb{R}^3\)

On munit \(\mathbb{R}^3\) du produit scalaire canonique. Orthonormaliser la famille \((v_1, v_2, v_3)\) avec \(v_1 = (1, 0, 1)\), \(v_2 = (0, 1, 1)\), \(v_3 = (1, 1, 0)\).

Voir la correction

Étape 1. \(\Vert v_1 \Vert = \sqrt{2}\), donc \(e_1 = \displaystyle\frac{1}{\sqrt{2}}(1, 0, 1)\).

Étape 2. \(\langle v_2, e_1 \rangle = \displaystyle\frac{1}{\sqrt{2}}(0 + 0 + 1) = \displaystyle\frac{1}{\sqrt{2}}\).

\(w_2 = (0, 1, 1) – \displaystyle\frac{1}{\sqrt{2}} \cdot \displaystyle\frac{1}{\sqrt{2}}(1, 0, 1) = (0, 1, 1) – \left(\displaystyle\frac{1}{2}, 0, \displaystyle\frac{1}{2}\right) = \left(-\displaystyle\frac{1}{2}, 1, \displaystyle\frac{1}{2}\right)\)

\(\Vert w_2 \Vert = \sqrt{\displaystyle\frac{1}{4} + 1 + \displaystyle\frac{1}{4}} = \sqrt{\displaystyle\frac{3}{2}} = \displaystyle\frac{\sqrt{6}}{2}\), donc \(e_2 = \displaystyle\frac{1}{\sqrt{6}}(-1, 2, 1)\).

Étape 3. \(\langle v_3, e_1 \rangle = \displaystyle\frac{1}{\sqrt{2}}\) et \(\langle v_3, e_2 \rangle = \displaystyle\frac{1}{\sqrt{6}}(-1 + 2 + 0) = \displaystyle\frac{1}{\sqrt{6}}\).

\(w_3 = (1, 1, 0) – \displaystyle\frac{1}{2}(1, 0, 1) – \displaystyle\frac{1}{6}(-1, 2, 1) = \left(\displaystyle\frac{2}{3}, \displaystyle\frac{2}{3}, -\displaystyle\frac{2}{3}\right)\)

\(\Vert w_3 \Vert = \displaystyle\frac{2}{\sqrt{3}}\), donc \(e_3 = \displaystyle\frac{1}{\sqrt{3}}(1, 1, -1)\).

Résultat : \(\left(\displaystyle\frac{1}{\sqrt{2}}(1,0,1),\;\displaystyle\frac{1}{\sqrt{6}}(-1,2,1),\;\displaystyle\frac{1}{\sqrt{3}}(1,1,-1)\right)\).


Exercice 2 (★★) — Polynômes de Legendre sur \([-1, 1]\)

On munit \(\mathbb{R}_2[X]\) du produit scalaire \(\langle P, Q \rangle = \displaystyle\int_{-1}^{1} P(t)\,Q(t)\,dt\).

  1. Orthonormaliser la base canonique \((1, X, X^2)\) par le procédé de Gram-Schmidt.
  2. Identifier les polynômes obtenus comme multiples des polynômes de Legendre \(P_0, P_1, P_2\).
Voir la correction

1.

\(e_1\) : \(\Vert 1 \Vert^2 = \displaystyle\int_{-1}^{1} 1\,dt = 2\), donc \(e_1 = \displaystyle\frac{1}{\sqrt{2}}\).

\(e_2\) : \(\langle X, e_1 \rangle = \displaystyle\frac{1}{\sqrt{2}}\displaystyle\int_{-1}^{1} t\,dt = 0\) (fonction impaire sur intervalle symétrique). Donc \(w_2 = X\).

\(\Vert X \Vert^2 = \displaystyle\int_{-1}^{1} t^2\,dt = \displaystyle\frac{2}{3}\), d’où \(e_2 = \sqrt{\displaystyle\frac{3}{2}}\, X\).

\(e_3\) : \(\langle X^2, e_1 \rangle = \displaystyle\frac{1}{\sqrt{2}} \cdot \displaystyle\frac{2}{3} = \displaystyle\frac{\sqrt{2}}{3}\) et \(\langle X^2, e_2 \rangle = \sqrt{\displaystyle\frac{3}{2}} \displaystyle\int_{-1}^{1} t^3\,dt = 0\) (fonction impaire).

\(w_3 = X^2 – \displaystyle\frac{\sqrt{2}}{3} \cdot \displaystyle\frac{1}{\sqrt{2}} = X^2 – \displaystyle\frac{1}{3}\).

\(\Vert w_3 \Vert^2 = \displaystyle\int_{-1}^{1}\left(t^2 – \displaystyle\frac{1}{3}\right)^2 dt = \displaystyle\frac{8}{45}\), donc \(e_3 = \displaystyle\frac{3\sqrt{10}}{4}\left(X^2 – \displaystyle\frac{1}{3}\right) = \displaystyle\frac{\sqrt{10}}{4}(3X^2 – 1)\).

2. Les polynômes de Legendre sont \(P_0 = 1\), \(P_1 = X\), \(P_2 = \displaystyle\frac{1}{2}(3X^2 – 1)\). On retrouve :

\(e_k = \sqrt{\displaystyle\frac{2k + 1}{2}}\, P_k \quad \text{pour } k = 0, 1, 2\)

Les coefficients de normalisation \(\sqrt{(2k+1)/2}\) proviennent de \(\Vert P_k \Vert^2 = \displaystyle\frac{2}{2k+1}\).

Remarque : l’argument de parité a supprimé la moitié des calculs. Sur un intervalle symétrique, pense systématiquement à exploiter la parité des fonctions.


Exercice 3 (★★★) — Type CCINP MP — Meilleure approximation dans \(L^2\)

Soit \(E = \mathcal{C}^0([0,1], \mathbb{R})\) muni de \(\langle f, g \rangle = \displaystyle\int_0^1 f(t)\,g(t)\,dt\) et \(F = \mathrm{Vect}(1, t, t^2)\).

  1. Orthonormaliser la base \((1, t, t^2)\) de \(F\).
  2. Déterminer la projection orthogonale de \(f : t \mapsto e^t\) sur \(F\).
  3. Calculer \(d(f, F)^2\).
Voir la correction

1. C’est exactement le calcul de l’Exemple 2. On obtient \(e_1 = 1\), \(e_2 = 2\sqrt{3}(X – \displaystyle\frac{1}{2})\), \(e_3 = \sqrt{5}(6X^2 – 6X + 1)\).

2. \(p_F(e^t) = \langle e^t, e_1 \rangle\, e_1 + \langle e^t, e_2 \rangle\, e_2 + \langle e^t, e_3 \rangle\, e_3\).

  • \(\langle e^t, e_1 \rangle = \displaystyle\int_0^1 e^t\,dt = e – 1\)
  • \(\langle e^t, e_2 \rangle = 2\sqrt{3}\displaystyle\int_0^1 e^t(t – \displaystyle\frac{1}{2})\,dt\). Par IPP : \(\displaystyle\int_0^1 te^t\,dt = 1\), donc \(\displaystyle\int_0^1 e^t(t – \displaystyle\frac{1}{2})\,dt = 1 – \displaystyle\frac{e-1}{2} = \displaystyle\frac{3 – e}{2}\). D’où \(\langle e^t, e_2 \rangle = \sqrt{3}(3 – e)\).
  • \(\langle e^t, e_3 \rangle = \sqrt{5}\displaystyle\int_0^1 e^t(6t^2 – 6t + 1)\,dt\). Par IPP successives : \(\displaystyle\int_0^1 t^2 e^t\,dt = e – 2\), d’où \(\displaystyle\int_0^1 e^t(6t^2 – 6t + 1)\,dt = 6(e-2) – 6 + (e-1) = 7e – 19\). Donc \(\langle e^t, e_3 \rangle = \sqrt{5}(7e – 19)\).

On développe \(p_F(e^t)\) pour obtenir un polynôme de degré 2 qui est la meilleure approximation au sens des moindres carrés de \(e^t\) sur \([0, 1]\).

3. Par le théorème de Pythagore :

\(d(f, F)^2 = \Vert f \Vert^2 – \vert\langle f, e_1 \rangle\vert^2 – \vert\langle f, e_2 \rangle\vert^2 – \vert\langle f, e_3 \rangle\vert^2\)

\(\Vert e^t \Vert^2 = \displaystyle\frac{e^2 – 1}{2}\), d’où :

\(d(f, F)^2 = \displaystyle\frac{e^2 – 1}{2} – (e – 1)^2 – 3(3 – e)^2 – 5(7e – 19)^2 \approx 0{,}000\ 2\)

La distance est remarquablement faible : l’approximation polynomiale de degré 2 de \(e^t\) sur \([0,1]\) est excellente.


Exercice 4 (★★★) — Type Centrale MP — Projection orthogonale sur un hyperplan

Soit \(F = \{(x, y, z) \in \mathbb{R}^3 : x + y + z = 0\}\).

  1. Trouver une base de \(F\) et l’orthonormaliser par Gram-Schmidt.
  2. Écrire la matrice \(P_F\) de la projection orthogonale sur \(F\) dans la base canonique.
  3. Vérifier que \(P_F^2 = P_F\) et \(P_F^\top = P_F\).
  4. Calculer \(d\big((1,1,1), F\big)\).
Voir la correction

1. On paramètre \(F\) : \(z = -x – y\), donc \(F = \mathrm{Vect}(u_1, u_2)\) avec \(u_1 = (1, -1, 0)\) et \(u_2 = (1, 0, -1)\).

Gram-Schmidt : \(e_1 = \displaystyle\frac{1}{\sqrt{2}}(1, -1, 0)\).

\(\langle u_2, e_1 \rangle = \displaystyle\frac{1}{\sqrt{2}}\), \(w_2 = (1, 0, -1) – \displaystyle\frac{1}{2}(1, -1, 0) = \left(\displaystyle\frac{1}{2}, \displaystyle\frac{1}{2}, -1\right)\), \(\Vert w_2 \Vert = \displaystyle\frac{\sqrt{6}}{2}\), donc \(e_2 = \displaystyle\frac{1}{\sqrt{6}}(1, 1, -2)\).

2. \(P_F = e_1 e_1^\top + e_2 e_2^\top = \displaystyle\frac{1}{2}\begin{pmatrix} 1 & -1 & 0 \\ -1 & 1 & 0 \\ 0 & 0 & 0 \end{pmatrix} + \displaystyle\frac{1}{6}\begin{pmatrix} 1 & 1 & -2 \\ 1 & 1 & -2 \\ -2 & -2 & 4 \end{pmatrix} = \displaystyle\frac{1}{3}\begin{pmatrix} 2 & -1 & -1 \\ -1 & 2 & -1 \\ -1 & -1 & 2 \end{pmatrix}\)

3. On vérifie \(P_F^2 = P_F\) (projecteur) et \(P_F^\top = P_F\) (orthogonal). On note aussi que \(P_F = I_3 – \displaystyle\frac{1}{3}J_3\) où \(J_3\) est la matrice dont tous les coefficients valent 1, ce qui donne une forme concise et mémorisable.

4. \(P_F\begin{pmatrix} 1 \\ 1 \\ 1 \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \\ 0 \end{pmatrix}\) (car \((1,1,1) \in F^\perp\)), donc \(d\big((1,1,1), F\big) = \Vert(1,1,1)\Vert = \sqrt{3}\).


VI. Rédaction concours : ce que le correcteur attend

En épreuve écrite comme à l’oral, la rédaction de Gram-Schmidt est jugée sur la rigueur de la construction et la justification de chaque étape. Voici les attentes explicites des rapports de jury.

A. Modèle de rédaction pour l’écrit

Template de rédaction (copie de concours)

« On applique le procédé d’orthonormalisation de Gram-Schmidt à la famille libre \((v_1, \ldots, v_n)\). »

Pour chaque \(k\) :

  1. Poser \(w_k = v_k – \displaystyle\sum_{i=1}^{k-1} \langle v_k, e_i \rangle\, e_i\) et calculer explicitement.
  2. Écrire « La famille \((v_1, \ldots, v_k)\) étant libre et \(\mathrm{Vect}(e_1, \ldots, e_{k-1}) = \mathrm{Vect}(v_1, \ldots, v_{k-1})\), on a \(v_k \notin \mathrm{Vect}(e_1, \ldots, e_{k-1})\), donc \(w_k \neq 0\). »
  3. Poser \(e_k = w_k / \Vert w_k \Vert\) et donner la valeur explicite.

Conclusion : « Par construction, \((e_1, \ldots, e_n)\) est une famille orthonormée vérifiant \(\mathrm{Vect}(e_1, \ldots, e_k) = \mathrm{Vect}(v_1, \ldots, v_k)\) pour tout \(k\). »

B. Ce que l’examinateur attend à l’oral

  • Connaître les formules par cœur : hésiter sur la formule de \(w_k\) envoie un signal très négatif.
  • Énoncer le théorème avant d’appliquer : « Le théorème de Gram-Schmidt affirme que… On l’applique à la famille… ».
  • Justifier \(w_k \neq 0\) : c’est le point que l’examinateur teste. Dire « car la famille est libre » ne suffit pas — lier explicitement à l’hypothèse de liberté.
  • Vérifier le résultat : si le temps le permet, calculer quelques produits scalaires \(\langle e_i, e_j \rangle\) pour confirmer l’orthogonalité. C’est un signe de maturité mathématique.

VII. Démonstration du théorème de Gram-Schmidt

A. Démonstration par récurrence ⋆ (exigible)

Cette démonstration est au programme et peut être demandée en kholle ou en question de cours.

Récurrence sur \(n\) (nombre de vecteurs de la famille libre).

Initialisation \((n = 1)\). La famille \((v_1)\) est libre donc \(v_1 \neq 0\). On pose \(e_1 = v_1 / \Vert v_1 \Vert\). Alors \((e_1)\) est orthonormée, \(\mathrm{Vect}(e_1) = \mathrm{Vect}(v_1)\), et \(\langle e_1, v_1 \rangle = \Vert v_1 \Vert\) > \(0\). L’unicité est immédiate : la condition \(\langle e_1, v_1 \rangle\) > \(0\) et \(\Vert e_1 \Vert = 1\) imposent \(e_1 = v_1 / \Vert v_1 \Vert\).

Hérédité. Soit \(n \geq 2\). On suppose le résultat vrai pour toute famille libre de \(n – 1\) vecteurs. Soit \((v_1, \ldots, v_n)\) libre.

Par hypothèse de récurrence, il existe une unique famille orthonormée \((e_1, \ldots, e_{n-1})\) vérifiant les deux conditions du théorème pour la sous-famille \((v_1, \ldots, v_{n-1})\). Posons :

\(w_n = v_n – \displaystyle\sum_{i=1}^{n-1} \langle v_n, e_i \rangle\, e_i\)

Montrons que \(w_n \neq 0\). Si \(w_n = 0\), alors \(v_n = \displaystyle\sum_{i=1}^{n-1} \langle v_n, e_i \rangle\, e_i \in \mathrm{Vect}(e_1, \ldots, e_{n-1}) = \mathrm{Vect}(v_1, \ldots, v_{n-1})\), ce qui contredit la liberté de \((v_1, \ldots, v_n)\). Donc \(w_n \neq 0\).

On pose \(e_n = w_n / \Vert w_n \Vert\). Vérifions les trois propriétés :

  • Orthogonalité : pour tout \(j\) < \(n\), \(\langle w_n, e_j \rangle = \langle v_n, e_j \rangle – \langle v_n, e_j \rangle = 0\), donc \(\langle e_n, e_j \rangle = 0\).
  • Sous-espaces : \(e_n \in \mathrm{Vect}(v_1, \ldots, v_n)\) (car \(w_n\) est combinaison de \(v_n\) et des \(e_i \in \mathrm{Vect}(v_1, \ldots, v_{n-1})\)). Et \(v_n = w_n + \displaystyle\sum \langle v_n, e_i \rangle\, e_i \in \mathrm{Vect}(e_1, \ldots, e_n)\). D’où \(\mathrm{Vect}(e_1, \ldots, e_n) = \mathrm{Vect}(v_1, \ldots, v_n)\).
  • Signe : \(\langle e_n, v_n \rangle = \langle w_n / \Vert w_n \Vert, v_n \rangle = \Vert w_n \Vert\) > \(0\) (car \(\langle w_n, v_n \rangle = \Vert w_n \Vert^2\)).

Unicité. Soit \((f_1, \ldots, f_n)\) une autre famille vérifiant les deux conditions. Par unicité de l’hypothèse de récurrence, \(f_i = e_i\) pour \(i \leq n-1\). Puis \(f_n \in \mathrm{Vect}(e_1, \ldots, e_n)\) avec \(f_n \perp e_1, \ldots, e_{n-1}\) et \(\Vert f_n \Vert = 1\), donc \(f_n = \pm e_n\). La condition \(\langle f_n, v_n \rangle\) > \(0\) impose \(f_n = e_n\). ∎

B. Interprétation géométrique : projections orthogonales itérées

La formule de \(w_k\) s’interprète géométriquement :

\(w_k = v_k – p_{F_{k-1}}(v_k)\)

où \(F_{k-1} = \mathrm{Vect}(e_1, \ldots, e_{k-1})\) et \(p_{F_{k-1}}\) est la projection orthogonale sur \(F_{k-1}\).

Autrement dit, à chaque étape, on retire de \(v_k\) son ombre sur le sous-espace déjà construit. Le résidu \(w_k\) est la composante de \(v_k\) dans le complémentaire orthogonal \(F_{k-1}^\perp\). On normalise ensuite ce résidu pour obtenir un vecteur unitaire dans une direction « nouvelle ».

Illustration en 3D du Gram-Schmidt itéré. Étape 1 : v₁ (bleu #1f4acc) normalisé en e₁. Étape 2 : v₂ (or #caa85a), sa pro

Quelle démonstration retenir en kholle ?

La récurrence est la preuve attendue par les examinateurs. L’interprétation géométrique éclaire le « pourquoi ça marche », mais ne constitue pas une preuve autonome (elle suppose acquis le théorème de projection orthogonale). En colle, commence toujours par la récurrence.


VIII. Applications et prolongements

A. Décomposition QR

Le procédé de Gram-Schmidt appliqué aux colonnes d’une matrice \(A \in \mathcal{M}_{n,p}(\mathbb{R})\) de rang \(p\) fournit directement la décomposition QR : \(A = QR\) avec \(Q\) à colonnes orthonormées et \(R\) triangulaire supérieure à diagonale strictement positive. Cette décomposition est fondamentale en calcul numérique pour la résolution de systèmes linéaires, le calcul de valeurs propres (algorithme QR) et les problèmes de moindres carrés.

La formule de \(R\) se lit directement dans le procédé : \(r_{ij} = \langle v_j, e_i \rangle\) pour \(i \leq j\) et \(r_{ii} = \Vert w_i \Vert\) (cf. Exemple 4).

B. Lien avec le théorème spectral

Le théorème spectral affirme que tout endomorphisme auto-adjoint d’un espace euclidien est diagonalisable en base orthonormée. Sa démonstration classique (par récurrence sur la dimension) utilise le procédé de Gram-Schmidt pour orthonormaliser les bases des sous-espaces propres. Les deux résultats sont donc intimement liés.

C. Note sur la stabilité numérique

En pratique informatique, le procédé de Gram-Schmidt « classique » (présenté dans cet article) est numériquement instable : les erreurs d’arrondi s’accumulent et la famille produite perd progressivement son orthogonalité. La variante modifiée (Modified Gram-Schmidt) ou les réflexions de Householder sont préférées dans les bibliothèques de calcul. Ce point sort du programme CPGE mais peut impressionner un examinateur.


IX. Questions fréquentes

Qu'est-ce que le procédé de Gram-Schmidt ?

Le procédé de Gram-Schmidt est un algorithme qui transforme toute famille libre d’un espace euclidien en une famille orthonormée engendrant les mêmes sous-espaces. Il procède par étapes : à chaque vecteur, on retire ses composantes dans les directions déjà construites (orthogonalisation), puis on normalise le résidu.

À quoi sert le procédé de Gram-Schmidt en prépa ?

Il sert principalement à :

  • Construire une base orthonormée (BON) d’un espace ou d’un sous-espace.
  • Calculer des projections orthogonales et des distances à un sous-espace.
  • Réaliser la décomposition QR d’une matrice.
  • Prouver des résultats théoriques (existence de BON, théorème spectral).
Quelle est la différence entre le procédé de Gram-Schmidt et la décomposition QR ?

Le procédé de Gram-Schmidt est une méthode (un algorithme) ; la décomposition QR est un résultat (une factorisation \(A = QR\)). Le procédé de Gram-Schmidt est l’une des façons d’obtenir la décomposition QR, en l’appliquant aux colonnes de \(A\). D’autres méthodes existent (réflexions de Householder, rotations de Givens) et sont préférées en calcul numérique pour leur stabilité.

Comment retenir les formules du procédé de Gram-Schmidt ?

Retiens la logique plutôt que la formule brute : retirer l’ombre, normaliser. À chaque étape, tu soustrais de \(v_k\) sa projection sur le sous-espace déjà construit (toutes les projections \(\langle v_k, e_i \rangle\, e_i\)), puis tu normalises le résidu. Si tu retiens cette idée géométrique, la formule \(w_k = v_k – \displaystyle\sum \langle v_k, e_i \rangle\, e_i\) se retrouve immédiatement.

La démonstration du théorème de Gram-Schmidt est-elle exigible aux concours ?

Oui. La démonstration par récurrence sur le nombre de vecteurs est exigible aux concours écrits et à l’oral. Elle est régulièrement posée comme question de cours en colle. Le point clé à ne pas oublier : justifier que \(w_k \neq 0\) en utilisant la liberté de la famille de départ.


Pour aller plus loin

Tu maîtrises maintenant le procédé de Gram-Schmidt, de la théorie à la pratique concours. Pour approfondir les notions d’algèbre bilinéaire euclidienne :

Logo-excellence-maths
Prêt à décrocher ta place en école d'ingénieur ?
Un professeur diplômé de Polytechnique t'accompagne pas à pas : cours particuliers, méthodes de concours et suivi personnalisé. Premiers progrès visibles en 4 semaines.