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émentValeur 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émentValeur 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émentValeur absolue
1
2
3maximum

É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éthodeSolution obtenueSolution exacteErreur relative max
Sans pivotage149700%
Avec pivotage partiel0%

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 :

  1. Multiplicateurs énormes : devient très grand
  2. Amplification des erreurs d'arrondi : Multiplier par un grand nombre amplifie les erreurs
  3. 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 :

  1. Multiplicateurs bornés : avec le pivotage partiel
  2. Erreurs contrôlées : Les erreurs d'arrondi ne sont pas amplifiées
  3. 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 pivotageRecherche du pivotCoûtUsage
AucunUtilise directementJamais en pratique
PartielMax dans la colonne Standard (défaut)
CompletMax dans la sous-matriceMatrices 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.