Exercice 2 : Orthogonalisation de Gram-Schmidt
Problème guidé : Étude de l’algorithme de Gram-Schmidt et applications en analyse numérique
Section titled “Problème guidé : Étude de l’algorithme de Gram-Schmidt et applications en analyse numérique”Filière : MPSI
Matière : Mathématiques
Chapitre: ** Espaces préhilbertiens réels
Thème : Orthogonalisation de Gram-Schmidt, conditionnement et limites numériques
1. Énoncé du problème
Section titled “1. Énoncé du problème”L’objectif de ce problème est d’étudier l’algorithme d’orthogonalisation de Gram-Schmidt dans l’espace préhilbertien réel muni du produit scalaire , puis d’analyser la stabilité numérique de cet algorithme face aux erreurs d’arrondi sur un ordinateur.
Dans toute la suite, on se place sur l’intervalle avec le poids , ce qui définit le produit scalaire usuel : On note la norme associée.
2. Questions
Section titled “2. Questions”Partie I : Théorie et mise en place de l’algorithme
Section titled “Partie I : Théorie et mise en place de l’algorithme”- Rappeler la définition d’une famille orthonormée dans un espace préhilbertien réel.
- Soit une famille libre d’un espace préhilbertien . Énoncer le principe de construction de la famille orthogonale par le procédé de Gram-Schmidt, en posant puis pour ,
- Appliquer cet algorithme à la famille dans muni du produit scalaire défini ci-dessus sur . On normalisera ensuite la famille obtenue (les polynômes normalisés ainsi obtenus sont les trois premiers polynômes de Legendre).
Partie II : Analyse numérique et limites du modèle
Section titled “Partie II : Analyse numérique et limites du modèle”On s’intéresse maintenant à l’implémentation informatique de cet algorithme. Les calculs en virgule flottante sur machine introduisent une incertitude (précision machine notée en double précision).
- Ordre de grandeur et conditionnement : Appliquons l’algorithme de Gram-Schmidt standard à la base canonique de : sur . Calculer explicitement pour . Que remarque-t-on pour la matrice de Gram de la famille lorsque grandit (par exemple ) ?
- Analyse critique des limites du modèle : En raison des erreurs d’arrondi, les vecteurs successifs calculés par la machine perdent l’orthogonalité stricte (c’est-à-dire que n’est plus exactement nul pour , mais de l’ordre de , où dépend fortement du conditionnement de la matrice initiale). Expliquer qualitativement pourquoi l’application de Gram-Schmidt classique (modified or classical) à des bases de type monôme () est dite “numériquement instable” pour des degrés sur des architectures standard. Quelle alternative (comme l’orthogonalisation de Householder ou Gram-Schmidt modifié) préconise-t-on en pratique dans les logiciels de calcul scientifique (type NumPy/SciPy) ?
3. Pistes et indications
Section titled “3. Pistes et indications”- Q3 : Pensez à calculer les intégrales selon la parité de .
- Q4 : La matrice de Gram est la matrice de Hilbert dans le cas des monômes. Sa condition (le nombre de conditionnement ) croît de manière exponentielle avec .
- Q5 : Sondez l’impact de la perte d’orthogonalité sur la réinjection dans la somme de Gram-Schmidt : une petite erreur sur s’amplifie aux étapes ultérieures.
4. Corrigé pas à pas
Section titled “4. Corrigé pas à pas”Partie I
Section titled “Partie I”1. Une famille est dite orthonormée si pour tout , on a (le produit scalaire vaut si et si ).
2. Le procédé de Gram-Schmidt consiste à soustraire à chaque nouveau vecteur sa projection orthogonale sur le sous-espace vectoriel engendré par les vecteurs déjà orthogonalisés .
3. Appliquons l’algorithme sur :
-
Étape 1 : .
Norme au carré : . -
Étape 2 : .
Calcul du produit scalaire : (fonction impaire sur un intervalle symétrique).
Donc .
Norme au carré : . -
Étape 3 : .
- .
- (fonction impaire).
On obtient :
Norme au carré : $|u_3|^2 = \int_{-1}^{1} \left(X^2 - \frac{1}{3}\right)^2 dt = \int_{-1}^{1} \left(X^4 - \frac{2}{3}X^2 + \frac{1}{9}\right) dt = \left[\frac{X^5}{5} - \frac{2}{9}X^3 + \frac{1}{9}X\right]_{-1}^{1} = 2 \left(\frac{1}{5} - \frac{2}{9} + \frac{1}{9}\right) = 2 \left(\frac{9 - 10 + 5}{45}\right) = \frac{8}{45}$$
En normalisant par les normes , on trouve les trois premiers polynômes de Legendre :
Partie II
Section titled “Partie II”4. Le terme général de la matrice de Gram est .
- Si est impair, .
- Si est pair, .
Pour , la matrice des produits scalaires (matrice de Hilbert tronquée) est :
Lorsque grandit (), les coefficients de la matrice de Hilbert tendent rapidement vers car lorsque augmente, mais surtout, les vecteurs de la base canonique deviennent “presque” colinéaires du point de vue de la précision machine. Le nombre de conditionnement } explose exponentiellement ().
5. Analyse critique des limites du modèle :
- Instabilité numérique : En arithmétique flottante, chaque soustraction de projections accumule des erreurs d’arrondi (). Comme la base des monômes est extrêmement mal conditionnée, ces erreurs infimes se propagent et détruisent l’orthogonalité théorique : les vecteurs calculés ne sont plus du tout orthogonaux entre eux en fin de calcul.
- Alternative pratique : Pour pallier ce problème critique en calcul scientifique, on évite d’utiliser la base des monômes pour l’orthogonalisation, ou l’on utilise des variantes stables de l’algorithme, telles que Gram-Schmidt Modifié (MGS) qui réactualise les projetés à chaque étape pour minimiser l’amplification des erreurs, ou l’utilisation de transformations unitaires (Householder, Givens) qui préservent la norme euclidienne et garantissent une stabilité numérique robuste.