Skip to content

Exercice 2 : Méthode du pivot de Gauss

Problème guidé : Analyse théorique et numérique de la méthode du pivot de Gauss

Section titled “Problème guidé : Analyse théorique et numérique de la méthode du pivot de Gauss”

Filière : MPSI
Matière : Mathématiques
Chapitre: ** Calcul matriciel et systèmes linéaires
Thème : Algorithme du pivot de Gauss, complexité et stabilité numérique


Soit n∈N∗n \in \mathbb{N}^*. On considère un système linéaire de la forme AX=BAX = B, où A∈Mn(R)A \in \mathcal{M}_n(\mathbb{R}), X∈Mn,1(R)X \in \mathcal{M}_{n,1}(\mathbb{R}) est le vecteur inconnu et B∈Mn,1(R)B \in \mathcal{M}_{n,1}(\mathbb{R}) est le second membre.

La méthode du pivot de Gauss est l’algorithme fondamental permettant de transformer le système initial en un système triangulaire supérieur équivalent, plus simple à résoudre par remontée. L’objet de ce problème est d’étudier la formalisation matricielle de cet algorithme, sa complexité asymptotique, ainsi que les limites de sa mise en œuvre informatique (analyse critique des erreurs d’arrondi).


Partie I : Formalisation matricielle de l’algorithme

Section titled “Partie I : Formalisation matricielle de l’algorithme”
  1. Soit i>ji > j et λ∈R\lambda \in \mathbb{R}. On définit la matrice élémentaire de transvection Ti,j(λ)=In+λEi,jT_{i,j}(\lambda) = I_n + \lambda E_{i,j}, où (Ei,j)1≤k,l≤n(E_{i,j})_{1 \le k,l \le n} désigne la base canonique de Mn(R)\mathcal{M}_n(\mathbb{R}). Montrer que Ti,j(λ)T_{i,j}(\lambda) est inversible et expliciter son inverse.
  2. Interpréter l’action à gauche de la matrice Ti,j(λ)T_{i,j}(\lambda) sur une matrice M∈Mn,p(R)M \in \mathcal{M}_{n,p}(\mathbb{R}).
  3. Soit A∈Mn(R)A \in \mathcal{M}_n(\mathbb{R}) une matrice dont le coefficient diagonal ak,k(k−1)a_{k,k}^{(k-1)} est non nul à l’étape kk. Expliciter la matrice de transvection LkL_k permettant d’annuler les coefficients situés sous le pivot dans la kk-ème colonne.
  4. En déduire qu’il existe une matrice triangulaire inférieure LL (à diagonale unité) et une matrice triangulaire supérieure UU telles que, sous réserve de non-nullité des pivots successifs, on puisse écrire : A=LUA = LU Cette décomposition est appelée décomposition LULU.
  1. Pour une matrice A∈Mn(R)A \in \mathcal{M}_n(\mathbb{R}), déterminer le nombre d’opérations élémentaires (multiplications et additions) nécessaires pour effectuer l’élimination de Gauss (obtention de la matrice UU).
  2. Exprimer ce nombre sous forme d’un équivalent simple lorsque nn tend vers +∞+\infty. Comparer avec le coût de la résolution d’un système triangulaire par remontée.

Partie III : Analyse critique et limites du modèle

Section titled “Partie III : Analyse critique et limites du modèle”
  1. Instabilité numérique : On considère le système AX=BAX = B avec : A=(ε111)etB=(12)A = \begin{pmatrix} \varepsilon & 1 \\ 1 & 1 \end{pmatrix} \quad \text{et} \quad B = \begin{pmatrix} 1 \\ 2 \end{pmatrix} où ε\varepsilon est un réel non nul strictement inférieur à la précision de la machine (ε≪1\varepsilon \ll 1). Appliquer l’algorithme du pivot de Gauss sans permutation de lignes, puis calculer le vecteur solution XX. Que constate-t-on sur la valeur du pivot et la propagation des erreurs ?
  2. Stratégie du pivot partiel : Expliquer qualitativement comment le choix d’un pivot maximal en valeur absolue dans la colonne courante permet de remédier à cette instabilité.

  • Q1 & Q2 : Penser à la structure algébrique de l’ensemble des matrices de transvection et à leur action géométrique (addition d’une ligne à une autre).
  • Q3 : Le coefficient multiplicateur pour annuler l’élément ai,ka_{i,k} à l’aide du pivot ak,ka_{k,k} est λ=−ai,kak,k\lambda = -\frac{a_{i,k}}{a_{k,k}}.
  • Q5 : Utiliser des sommes discrètes ∑k=1n−1k2\sum_{k=1}^{n-1} k^2 et relier le résultat aux intégrales de Riemann ou utiliser les formules usuelles de sommation.
  • Q7 : Attention au quotient par ε\varepsilon dans un environnement informatique à précision finie.

  1. Inversibilité de Ti,j(λ)T_{i,j}(\lambda) : On a Ei,jEk,l=δj,kEi,lE_{i,j} E_{k,l} = \delta_{j,k} E_{i,l}. Pour i>ji > j, on a i≠ji \neq j, donc Ei,j2=0E_{i,j}^2 = 0. Ainsi, en développant (In+λEi,j)(In−λEi,j)=In−λ2Ei,j2=In(I_n + \lambda E_{i,j})(I_n - \lambda E_{i,j}) = I_n - \lambda^2 E_{i,j}^2 = I_n. La matrice Ti,j(λ)T_{i,j}(\lambda) est donc inversible et son inverse est Ti,j(−λ)=In−λEi,jT_{i,j}(-\lambda) = I_n - \lambda E_{i,j}.

  2. Action à gauche : Le produit Ti,j(λ)MT_{i,j}(\lambda) M correspond à l’opération élémentaire sur les lignes de MM : Li←Li+λLjL_i \leftarrow L_i + \lambda L_j. Les autres lignes restent inchangées.

  3. Matrice d’élimination LkL_k : Pour éliminer les coefficients ai,ka_{i,k} sous la diagonale (i>ki > k) à l’aide du pivot ak,k(k−1)a_{k,k}^{(k-1)}, on applique les opérations Li←Li−ai,k(k−1)ak,k(k−1)LkL_i \leftarrow L_i - \frac{a_{i,k}^{(k-1)}}{a_{k,k}^{(k-1)}} L_k. La matrice associée est Lk=In−∑i=k+1nai,k(k−1)ak,k(k−1)Ei,kL_k = I_n - \sum_{i=k+1}^n \frac{a_{i,k}^{(k-1)}}{a_{k,k}^{(k-1)}} E_{i,k}.

  4. Décomposition LULU : En multipliant successivement par les inverses des matrices LkL_k (qui sont aussi des matrices triangulaires inférieures), on obtient U=Ln−1…L1AU = L_{n-1} \dots L_1 A. En posant L=(Ln−1…L1)−1L = (L_{n-1} \dots L_1)^{-1}, qui est bien triangulaire inférieure à diagonale unité, il vient : A=LUA = LU


  1. Comptage des opérations : À l’étape kk (pour kallantdek allant de 1aˋàn-1),lepivotest), le pivot est a_{k,k}.Pourchaqueligne. Pour chaque ligne idedek+1aˋànetpourchaquecolonneet pour chaque colonnejdedekaˋàn,oneffectueunemultiplicationetunesoustraction.Lenombred′opeˊrationspourl′eˊtape, on effectue une multiplication et une soustraction. Le nombre d'opérations pour l'étape kestdel′ordredeest de l'ordre de2(n-k)^2.Lenombretotald′opeˊrations. Le nombre total d'opérations W(n)$ pour la triangularisation est : W(n)∼∑k=1n−12(n−k)2=2∑j=1n−1j2=2(n−1)n(2n−1)6W(n) \sim \sum_{k=1}^{n-1} 2(n-k)^2 = 2 \sum_{j=1}^{n-1} j^2 = 2 \frac{(n-1)n(2n-1)}{6}

  2. Équivalent asymptotique : On obtient : W(n)∼23n3 opeˊrations.W(n) \sim \frac{2}{3} n^3 \text{ opérations}. La résolution d’un système triangulaire par remontée ne coûte, quant à elle, que N(n)∼n2\mathcal{N}(n) \sim n^2 opérations. La complexité de la méthode de Gauss est donc dominée par la phase de triangularisation en O(n3)\mathcal{O}(n^3).


Partie III : Analyse critique et limites du modèle

Section titled “Partie III : Analyse critique et limites du modèle”
  1. Étude de l’instabilité numérique : Appliquons le pivot de Gauss sans pivotage sur AX=BAX = B : Le pivot initial est a1,1=εa_{1,1} = \varepsilon. L’opération L2←L2−1εL1L_2 \leftarrow L_2 - \frac{1}{\varepsilon} L_1 donne le nouveau système : (ε101−1ε)(x1x2)=(12−1ε)\begin{pmatrix} \varepsilon & 1 \\ 0 & 1 - \frac{1}{\varepsilon} \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \end{pmatrix} = \begin{pmatrix} 1 \\ 2 - \frac{1}{\varepsilon} \end{pmatrix} En calculant x2x_2 par remontée : x2=2−1ε1−1ε=2ε−1ε−1x_2 = \frac{2 - \frac{1}{\varepsilon}}{1 - \frac{1}{\varepsilon}} = \frac{2\varepsilon - 1}{\varepsilon - 1} Si ε\varepsilon est inférieur à la précision machine (par exemple ε=10−18\varepsilon = 10^{-18} en virgule flottante standard), l’ordinateur stocke ε≈0\varepsilon \approx 0. Le nombre 1ε\frac{1}{\varepsilon} devient extrêmement grand, provoquant une catastrophe numérique par division par un nombre quasi-nul (overflow) ou une perte totale de significativité (pire encore, ε\varepsilon est absorbé par 11 dans 1−1ε1 - \frac{1}{\varepsilon}, menant à 1−1ε≈−1ε1 - \frac{1}{\varepsilon} \approx - \frac{1}{\varepsilon}, faussant complètement le résultat).

  2. Stratégie du pivot partiel : Pour pallier ce défaut rédhibitoire inhérent aux calculs à précision finie, on ne prend plus systématiquement le coefficient diagonal comme pivot, mais on cherche à chaque étape kk à maximiser le pivot en valeur absolue dans la colonne courante (permutation de lignes). Cela garantit que les coefficients multiplicateurs ∣ai,kak,k ∣\left|\frac{a_{i,k}}{a_{k,k}}\text{ }\right| restent inférieurs ou égaux à 11, empêchant la propagation explosive des erreurs d’arrondi.