Annexe B — Exemples détaillés de pivotage
Cette annexe présente deux exemples complets de pivotage : le pivotage complet (lignes et colonnes) et le pivotage partiel (lignes seulement). Ces exemples illustrent l'importance du pivotage pour la stabilité numérique.
Exemple 1 : Pivotage complet
Le pivotage complet consiste à échanger à la fois des lignes et des colonnes pour placer le plus grand élément (en valeur absolue) de la sous-matrice restante en position de pivot.
Système initial
Considérons le système avec :
Matrice augmentée initiale :
Étape 1 : Recherche du pivot maximal
On cherche l'élément de plus grande valeur absolue dans toute la matrice :
| Élément | Valeur absolue |
|---|---|
| ← maximum | |
Le maximum est en position .
Pour amener cet élément en position , on effectue :
- Échange de lignes : (pas nécessaire, déjà en ligne 1)
- Échange de colonnes :
Attention : ordre des inconnues
L'échange de colonnes modifie l'ordre des inconnues. Il faut garder trace de cet ordre pour reconstruire la solution finale. Initialement : . Après : .
Après l'échange :
Ordre des inconnues :
Étape 2 : Élimination sous le pivot
Maintenant on élimine les éléments sous le pivot :
Multiplicateurs :
Opérations :
Après élimination (première colonne) :
Étape 3 : Deuxième pivot
On cherche le maximum dans la sous-matrice restante (lignes 2-3, colonnes 2-3) :
| Élément | Valeur absolue |
|---|---|
| ← maximum | |
Pour amener en position :
- Échange de lignes :
- Échange de colonnes :
Après les échanges :
Ordre des inconnues :
Étape 4 : Dernière élimination
Multiplicateur :
Opération :
Matrice triangulaire finale :
Étape 5 : Substitution arrière
On résout le système triangulaire :
Rappel : L'ordre des inconnues est , donc :
- La première composante calculée est
- La deuxième est
- La troisième est
Solution finale (remise dans l'ordre original ) :
Exemple 2 : Impact du pivotage sur la précision
Cet exemple montre comment le pivotage partiel améliore drastiquement la précision des calculs en arithmétique à précision finie.
Contexte
Considérons un système flottant avec base et chiffres significatifs. À chaque opération, le résultat est arrondi à 4 chiffres.
Système initial
La solution exacte est .
Méthode 1 : Sans pivotage
On utilise directement comme premier pivot.
Problème : Ce pivot est très petit ! Les multiplicateurs seront énormes :
Élimination (avec arrondi à 4 chiffres) :
:
- → arrondi :
- → arrondi :
- → arrondi :
Matrice triangulaire (après arrondi) :
Substitution arrière :
Solution sans pivotage :
Résultat catastrophique !
La solution obtenue est complètement fausse ! La solution exacte est . L'erreur relative sur est de 149700% !
Méthode 2 : Avec pivotage partiel
On cherche le plus grand élément (en valeur absolue) dans la première colonne :
| Ligne | Élément | Valeur absolue |
|---|---|---|
| 1 | ||
| 2 | ||
| 3 | ← maximum |
Échange :
Après échange :
Multiplicateurs (maintenant raisonnables) :
Élimination (première colonne) :
Après élimination et arrondi à 4 chiffres :
Deuxième pivot : On cherche le max dans la colonne 2 (lignes 2-3) :
- Ligne 2 : ← maximum
- Ligne 3 :
Pas d'échange nécessaire.
Élimination (deuxième colonne) :
Matrice triangulaire finale :
Substitution arrière :
Solution avec pivotage :
Résultat correct !
Avec le pivotage partiel, on obtient la solution exacte malgré l'arithmétique à 4 chiffres !
Comparaison des résultats
| Méthode | Solution obtenue | Solution exacte | Erreur relative max |
|---|---|---|---|
| Sans pivotage | 149700% | ||
| Avec pivotage partiel | 0% |
Pourquoi le pivotage fonctionne-t-il ?
Le problème des petits pivots
Quand le pivot est très petit par rapport aux autres éléments :
- Multiplicateurs énormes : devient très grand
- Amplification des erreurs d'arrondi : Multiplier par un grand nombre amplifie les erreurs
- Perte de chiffres significatifs : Les petites quantités sont « absorbées » par les grandes
La solution du pivotage
En choisissant le plus grand pivot possible :
- Multiplicateurs bornés : avec le pivotage partiel
- Erreurs contrôlées : Les erreurs d'arrondi ne sont pas amplifiées
- Stabilité numérique : Le conditionnement effectif reste raisonnable
Règle pratique
Pivotage partiel : À chaque étape , chercher le maximum pour et échanger les lignes. Coût négligeable, gain en stabilité énorme.
Pivotage complet : Chercher le maximum dans toute la sous-matrice restante. Plus coûteux mais parfois nécessaire pour des matrices très mal conditionnées.
Résumé
| Type de pivotage | Recherche du pivot | Coût | Usage |
|---|---|---|---|
| Aucun | Utilise directement | Jamais en pratique | |
| Partiel | Max dans la colonne | Standard (défaut) | |
| Complet | Max dans la sous-matrice | Matrices très mal conditionnées |
À retenir : Le pivotage partiel est toujours utilisé en pratique. Son coût est négligeable par rapport au gain en stabilité numérique. Les bibliothèques comme NumPy (np.linalg.solve) et LAPACK l'utilisent systématiquement.