Skip to content

Exercice 1 : Procédé de Gram-Schmidt

🌐 Énoncé du problème / Étude de cas

Section titled “🌐 Énoncé du problème / Étude de cas”

Dans le cadre de l’analyse numérique et du traitement du signal, l’orthogonalisation de familles de fonctions est une étape fondamentale pour la résolution approchée d’équations aux dérivées partielles ou le filtrage optimal. On s’intéresse dans ce problème à une modélisation simplifiée de l’approximation de signaux par projection sur des sous-espaces de dimension finie.

Soit E=Rn[X]E = \mathbb{R}_n[X] l’espace vectoriel des polynômes à coefficients réels de degré inférieur ou égal à nn. On munit EE du produit scalaire canonique induit par l’intégration sur un intervalle de mesure de référence : ∀(P,Q)∈E2,⟨P,Q⟩=∫−11P(t)Q(t) w(t) dt\forall (P, Q) \in E^2, \quad \langle P, Q \rangle = \int_{-1}^{1} P(t)Q(t) \, w(t) \, dt où w:]−1,1[→R+∗w : ]-1, 1[ \to \mathbb{R}_+^* est une fonction poids continue strictement positive.

Dans les applications industrielles (par exemple en théorie du contrôle ou en dynamique des structures), l’utilisation d’une base non orthogonale pour représenter des grandeurs physiques (température, déplacements) conduit à des matrices de Gram mal conditionnées, entraînant des instabilités numériques majeures lors de l’inversion des systèmes linéaires associés. Le procédé de Gram-Schmidt permet de remédier théoriquement à ce problème en construisant une base orthogonale adaptée.


  1. Rappels et mise en place Montrer que l’application ⟨⋅,⋅⟩\langle \cdot, \cdot \rangle définie ci-dessus est bien un produit scalaire sur EE.

  2. Le procédé de Gram-Schmidt abstrait Soit (e0,e1,…,en)(e_0, e_1, \dots, e_n) une base de EE. Expliciter la construction par récurrence d’une base orthogonal (ε0,ε1,…,εn)(\varepsilon_0, \varepsilon_1, \dots, \varepsilon_n) de EE telle que, pour tout k∈⟦0,n⟧k \in \llbracket 0, n \rrbracket, l’espace engendré par (ε0,…,εk)(\varepsilon_0, \dots, \varepsilon_k) soit égal à celui engendré par (e0,…,ek)(e_0, \dots, e_k).

  3. Application aux polynômes de Legendre On choisit w(t)=1w(t) = 1 et la base monômienne (ek)0≤k≤n(e_k)_{0 \le k \le n} définie par ek:t↦tke_k : t \mapsto t^k.

    • a) Calculer la famille orthogonale (ε0,ε1,ε2)(\varepsilon_0, \varepsilon_1, \varepsilon_2) associée par le procédé de Gram-Schmidt.
    • b) Normaliser cette famille pour obtenir une base orthonormée (P0,P1,P2)(P_0, P_1, P_2).
  4. Analyse numérique et limites du modèle Dans le cadre d’un calcul scientifique mené sur une architecture informatique en virgule flottante (précision machine ϵmach≈10−16\epsilon_{\text{mach}} \approx 10^{-16}), la mise en œuvre naïve du procédé de Gram-Schmidt décrit à la question 2 souffre d’une dégradation de l’orthogonalité due à l’accumulation des erreurs d’arrondi.

    • a) Expliquer qualitativement pourquoi l’orthogonalité de la famille (εk)(\varepsilon_k) peut être gravement compromise lorsque le degré nn devient grand (n>50n > 50).
    • b) Quelle alternative algorithmique plus stable (souvent vue en option ou en TP d’informatique) utilise-t-on en pratique pour pallier ce défaut dans l’industrie ?

  • Q1 : Vérifier les trois axiomes d’un produit scalaire : bilinéarité, symétrie, et positivité (en utilisant la continuité de la fonction t↦P(t)2w(t)t \mapsto P(t)^2 w(t)).
  • Q2 : Utiliser un raisonnement par récurrence en posant εk=ek−∑i=0k−1⟨ek,εi⟩∥εi∥2εi\varepsilon_k = e_k - \sum_{i=0}^{k-1} \frac{\langle e_k, \varepsilon_i \rangle}{\|\varepsilon_i\|^2} \varepsilon_i.
  • Q3 : Calculer les intégrales successives ∫−11tk dt\int_{-1}^{1} t^k \, dt pour k∈⟦0,4⟧k \in \llbracket 0, 4 \rrbracket. Attention à la parité des fonctions intégrées.
  • Q4 : Penser à la notion de perte de chiffres significatifs lors de soustractions de nombres quasi-égaux dans les calculs successifs de projections.

📋 Corrigé détaillé et analyse des résultats

Section titled “📋 Corrigé détaillé et analyse des résultats”

L’application ⟨⋅,⋅⟩\langle \cdot, \cdot \rangle est définie par une intégrale.

  • Symétrie et bilinéarité : Elles découlent directement de la symétrie et de la linéarité de l’intégrale ainsi que du produit dans R\mathbb{R}.
  • Positivité : Pour tout P∈EP \in E, t↦[P(t)]2w(t)t \mapsto [P(t)]^2 w(t) est continue et positive sur [−1,1][-1, 1]. Son intégrale est donc positive.
  • Caractère défini : Si ⟨P,P⟩=∫−11[P(t)]2w(t) dt=0\langle P, P \rangle = \int_{-1}^{1} [P(t)]^2 w(t) \, dt = 0, comme la fonction intégrée est continue, positive et que ww est strictement positive sur ]−1,1[]-1, 1[, la fonction t↦P(t)2t \mapsto P(t)^2 doit être nulle partout sur [−1,1][-1, 1]. Ainsi, PonautPonaut admet une infinité de racines, ce qui implique P=0P = 0 (car c’est un polynôme de degré ≤n\le n). L’application est donc un produit scalaire.

On construit la famille (εk)0≤k≤n(\varepsilon_k)_{0 \le k \le n} par récurrence :

  • Pour k=0k = 0 : ε0=e0\varepsilon_0 = e_0.
  • Supposons la famille (ε0,…,εk−1)(\varepsilon_0, \dots, \varepsilon_{k-1}) construite telle que Vect(ε0,…,εi)=Vect(e0,…,ei)\text{Vect}(\varepsilon_0, \dots, \varepsilon_{i}) = \text{Vect}(e_0, \dots, e_{i}) pour tout i<ki < k et que les εi\varepsilon_i sont deux à deux orthogonaux.
  • On pose : εk=ek−∑i=0k−1⟨ek,εi⟩∥εi∥2εi\varepsilon_k = e_k - \sum_{i=0}^{k-1} \frac{\langle e_k, \varepsilon_i \rangle}{\|\varepsilon_i\|^2} \varepsilon_i Par construction, εk\varepsilon_k est la différence de eke_k et d’une combinaison linéaire de (ε0,…,εk−1)(\varepsilon_0, \dots, \varepsilon_{k-1}), donc de (e0,…,ek−1)(e_0, \dots, e_{k-1}). Ainsi, Vect(ε0,…,εk)=Vect(e0,…,ek)\text{Vect}(\varepsilon_0, \dots, \varepsilon_k) = \text{Vect}(e_0, \dots, e_k). De plus, pour tout j∈⟦0,k−1⟧j \in \llbracket 0, k-1 \rrbracket : ⟨εk,εj⟩=⟨ek,εj⟩−∑i=0k−1⟨ek,εi⟩∥εi∥2⟨εi,εj⟩=⟨ek,εj⟩−⟨ek,εj⟩∥εj∥2∥εj∥2=0\langle \varepsilon_k, \varepsilon_j \rangle = \langle e_k, \varepsilon_j \rangle - \sum_{i=0}^{k-1} \frac{\langle e_k, \varepsilon_i \rangle}{\|\varepsilon_i\|^2} \langle \varepsilon_i, \varepsilon_j \rangle = \langle e_k, \varepsilon_j \rangle - \frac{\langle e_k, \varepsilon_j \rangle}{\|\varepsilon_j\|^2} \|\varepsilon_j\|^2 = 0 La famille est bien orthogonalisée.

3. Application aux polynômes de Legendre (w(t)=1w(t) = 1)

Section titled “3. Application aux polynômes de Legendre (w(t)=1w(t) = 1w(t)=1)”
  • a) Calcul de (ε0,ε1,ε2)(\varepsilon_0, \varepsilon_1, \varepsilon_2) :

    • ε0=e0=1\varepsilon_0 = e_0 = 1. ∥ε0∥2=∫−111 dt=2\|\varepsilon_0\|^2 = \int_{-1}^{1} 1 \, dt = 2.
    • ε1=e1−⟨e1,ε0⟩∥ε0∥2ε0\varepsilon_1 = e_1 - \frac{\langle e_1, \varepsilon_0 \rangle}{\|\varepsilon_0\|^2} \varepsilon_0. ⟨e1,ε0⟩=∫−11t dt=0\langle e_1, \varepsilon_0 \rangle = \int_{-1}^{1} t \, dt = 0 (fonction impaire sur un intervalle symétrique). Donc ε1(t)=t\varepsilon_1(t) = t. ∥ε1∥2=∫−11t2 dt=23\|\varepsilon_1\|^2 = \int_{-1}^{1} t^2 \, dt = \frac{2}{3}.
    • ε2=e2−⟨e2,ε0⟩∥ε0∥2ε0−⟨e2,ε1⟩∥ε1∥2ε1\varepsilon_2 = e_2 - \frac{\langle e_2, \varepsilon_0 \rangle}{\|\varepsilon_0\|^2} \varepsilon_0 - \frac{\langle e_2, \varepsilon_1 \rangle}{\|\varepsilon_1\|^2} \varepsilon_1. ⟨e2,ε0⟩=∫−11t2 dt=23\langle e_2, \varepsilon_0 \rangle = \int_{-1}^{1} t^2 \, dt = \frac{2}{3}. ⟨e2,ε1⟩=∫−11t3 dt=0\langle e_2, \varepsilon_1 \rangle = \int_{-1}^{1} t^3 \, dt = 0 (impaire). Donc ε2(t)=t2−2/32⋅1=t2−13\varepsilon_2(t) = t^2 - \frac{2/3}{2} \cdot 1 = t^2 - \frac{1}{3}.
  • b) Normalisation : Calculons ∥ε2∥2=∫−11(t2−13)2dt=∫−11(t4−23t2+19)dt=[t55−2t39+t9]−11=2(15−29+19)=2(15−19)=2(445)=845\|\varepsilon_2\|^2 = \int_{-1}^{1} \left(t^2 - \frac{1}{3}\right)^2 dt = \int_{-1}^{1} \left(t^4 - \frac{2}{3}t^2 + \frac{1}{9}\right) dt = \left[ \frac{t^5}{5} - \frac{2t^3}{9} + \frac{t}{9} \right]_{-1}^{1} = 2 \left( \frac{1}{5} - \frac{2}{9} + \frac{1}{9} \right) = 2 \left( \frac{1}{5} - \frac{1}{9} \right) = 2 \left( \frac{4}{45} \right) = \frac{8}{45}. Ainsi, la base orthonormée (P0,P1,P2)(P_0, P_1, P_2) est : P0(t)=12,P1(t)=32t,P2(t)=458(t2−13)P_0(t) = \frac{1}{\sqrt{2}}, \quad P_1(t) = \sqrt{\frac{3}{2}} t, \quad P_2(t) = \sqrt{\frac{45}{8}} \left(t^2 - \frac{1}{3}\right)

  • a) Instabilité numérique : Le procédé de Gram-Schmidt classique (dit “standard”) effectue des soustractions successives. Lorsque le degré nn augmente, les monômes (1,t,…,tn)(1, t, \dots, t^n) deviennent de plus en plus colinéaires au sens de la précision machine (la matrice de Gram associée devient mal conditionnée, son conditionnement explose exponentiellement). Les erreurs d’arrondi s’accumulent au fil des récursions, détruisant l’orthogonalité des vecteurs calculés.
  • b) Alternative industrielle : En calcul scientifique, on lui préfère systématiquement le procédé de Gram-Schmidt modifié (MGS), qui réorganise l’ordre des calculs de projection, ou mieux encore, l’utilisation des transformations de Householder ou des rotations de Givens (basées sur des factorisations QRQR par matrices unitaires/orthogonales), garantissant une stabilité numérique bien supérieure face aux contraintes des ordinateurs.