Algèbre linéaire

Systèmes linéaires : n équations, p inconnues

Résoudre un système, c'est chercher toutes les valeurs des inconnues qui satisfont à la fois toutes les équations. Selon les cas il y en a une seule, aucune, ou une infinité — et c'est un seul nombre, le rang, qui décide. Cinq planches pour le voir, le calculer et mesurer ce que coûte le calcul.

Ce qu'on appelle un système n × p

Une équation est linéaire quand chaque inconnue n'y apparaît qu'au premier degré, multipliée par un nombre fixe : pas de x², pas de x·y, pas de √x. Un système linéaire de n équations à p inconnues x1, …, xp s'écrit :

a11x1 + a12x2 + … + a1pxp = b1
a21x1 + a22x2 + … + a2pxp = b2
⋮
an1x1 + an2x2 + … + anpxp = bn

Les nombres aij sont les coefficients (premier indice : la ligne, c'est-à-dire l'équation ; second indice : la colonne, c'est-à-dire l'inconnue). Les bi forment le second membre. On range les coefficients dans un tableau à n lignes et p colonnes, la matrice A, et le système s'écrit en une ligne AX = B. Si tous les bi sont nuls, le système est dit homogène : il a toujours au moins la solution X = 0. Un système qui a au moins une solution est compatible ; sinon il est incompatible.

n < p — moins d'équations que d'inconnuesn = p — système carrén > p — plus d'équations que d'inconnues
Cas typiqueune infinité de solutions, avec p − n paramètres libresune solution unique (déterminant non nul)aucune solution : les équations en trop se contredisent
Mais aussiaucune solution, si deux équations se contredisentaucune ou une infinité si le déterminant est nulune solution, si les équations en trop sont des conséquences des autres
Ce qui tranchele rang r de A (nombre d'équations réellement indépendantes) : compatible si et seulement si le rang ne change pas quand on ajoute la colonne B ; il reste alors p − r paramètres libres (théorème de Rouché–Fontené, planches 2 à 4).
1

Deux équations, deux inconnues : deux regards

Un système 2 × 2 se lit de deux façons. En lignes, chaque équation ax + by = c est une droite du plan, et la solution est le point commun aux deux droites. En colonnes, on regarde les deux colonnes de coefficients comme deux vecteurs C1 et C2, et l'on cherche combien de fois prendre C1 (c'est x) et combien de fois prendre C2 (c'est y) pour arriver exactement au vecteur B du second membre. Les deux lectures donnent les mêmes nombres.

Vue en lignes : droite ①, droite ②, point solution.
Vue en colonnes : on part de O, on avance de x fois C₁, puis de y fois C₂, et l'on doit tomber sur B.
2
1
5
1
−1
1
Déterminant a₁b₂ − a₂b₁—
Nature—
Solution (formules de Cramer, exactes)—
Contrôle : élimination en flottants—
Contrôle colonnes : ‖x·C₁ + y·C₂ − B‖—
2

Trois équations, trois inconnues : trois plans

Avec trois inconnues x, y, z, chaque équation ax + by + cz = d est un plan de l'espace. Trois plans peuvent se couper en un seul point, avoir une droite commune, n'avoir aucun point commun à tous les trois tout en se coupant deux à deux (le « prisme »), être parallèles… Le rang r de la matrice A — le nombre d'équations vraiment indépendantes — et le rang de la matrice complétée [A | B] suffisent à dire dans quel cas on est. Faites tourner la figure à la souris ou au doigt ; le curseur d₃ fait glisser le troisième plan parallèlement à lui-même.

plan ①, plan ②, plan ③ ; traits gris : droites d'intersection deux à deux ; en rouge : l'ensemble des solutions.
2
1
−1
2
Déterminant de A—
Rang de A—
Rang de [A | B]—
Nature (Rouché–Fontené)—
Solutions (calcul exact)—
3

La méthode du pivot de Gauss, pas à pas

Pour résoudre n'importe quel système, on n'utilise que trois gestes qui ne changent pas l'ensemble des solutions : échanger deux équations, multiplier une équation par un nombre non nul, retrancher à une équation un multiple d'une autre. On s'en sert d'abord pour faire apparaître des zéros sous la diagonale (la descente, ou échelonnement), puis au-dessus (la remontée de Jordan). Le nombre qui sert à éliminer est le pivot, entouré de rouge. Tous les calculs sont faits en fractions exactes.

0
Matrice complétée [A | B] : ligne qui vient d'être modifiée, pivot, zéros en gris.
    Rang r—
    Inconnues libres (p − r)—
    Nature—
    Vérification exacte A·X − B—
    4

    n et p quelconques : le rang décide de tout

    Choisissez le nombre d'équations n, le nombre d'inconnues p et le rang r (le nombre d'équations réellement indépendantes) ; la page tire un système au hasard ayant exactement ce rang et le réduit. Deux comptes résument alors tout : parmi les p inconnues, r sont principales (elles portent un pivot) et p − r sont libres, que l'on peut choisir à volonté ; parmi les n équations, r sont utiles et n − r se réduisent à des égalités « 0 = nombre » qui sont les conditions de compatibilité. Toutes les solutions s'écrivent X = X₀ + λ·V₁ + μ·V₂ + … : une solution particulière plus une combinaison de solutions du système homogène.

    3
    5
    3
    Le système tiré : [A | B].
    Sa forme échelonnée réduite : colonnes à pivot et colonnes libres.
    Carte du cas « générique » (coefficients au hasard, rang maximal min(n, p)) ; « ∞ᵏ » signifie une infinité de solutions à k paramètres, « 1 » une solution unique, « 0 » aucune. La case encadrée de rouge est le format choisi.
    Rang obtenu (calcul exact)—
    Paramètres libres p − r—
    Conditions de compatibilité n − r—
    Nature—
    A·X₀ − B et A·Vₖ (exact)—
    Point mobile X₀ + Σ tₖVₖ : résidu flottant—
    5

    Signature : résoudre avec une machine

    Sur le papier, le pivot de Gauss est exact. Dans un ordinateur, chaque nombre est arrondi à environ 16 chiffres significatifs (l'unité d'arrondi vaut u ≈ 1,1·10⁻¹⁶). Trois expériences montrent ce qui change alors : le choix du pivot devient une question de survie, certains systèmes amplifient les erreurs quoi qu'on fasse, et la méthode des déterminants, si élégante, devient impraticable.

    Le petit pivot Le système qui tremble Ce que coûte un calcul

    Le système εx + y = 1, x + y = 2 a pour solution exacte x = 1/(1 − ε), y = (1 − 2ε)/(1 − ε), donc x ≈ 1 et y ≈ 1 dès que ε est petit. Le calcul « naïf » prend ε comme pivot ; le pivot partiel échange d'abord les lignes pour prendre le plus grand coefficient de la colonne.

    Erreur relative (échelle logarithmique) en fonction de ε = 10⁻ᵏ : pivot ε, pivot partiel ; en gris pointillé, la droite u/ε.
    10
    Solution exacte (x ; y)—
    Pivot ε : (x ; y)—
    Erreur relative, pivot ε—
    Pivot partiel : erreur relative—
    Erreur × ε / u (pivot ε)—

    La matrice de Hilbert H, de coefficients 1/(i + j − 1), est le système « qui tremble » par excellence : ses lignes sont presque proportionnelles. On fabrique B = H·(1, 1, …, 1) et l'on résout avec pivot partiel. Le conditionnement κ = ‖H‖·‖H⁻¹‖ mesure de combien le système peut amplifier une petite erreur ; on le calcule ici exactement, grâce à la formule connue de H⁻¹ à coefficients entiers. Règle pratique : on perd à peu près log₁₀ κ chiffres sur les 16 disponibles.

    Chiffres exacts obtenus (points) et prévision 16 − log₁₀ κ (trait gris) selon la taille n ; barres violettes : log₁₀ κ.
    8
    Conditionnement κ∞ (exact)—
    H·H⁻¹ = I—
    Erreur relative obtenue—
    Chiffres exacts / prévision—
    Résidu relatif ‖HX − B‖ / ‖B‖—

    On compte réellement chaque multiplication, addition et division. La méthode de Gauss en demande exactement 2n³/3 + 3n²/2 − 7n/6. Les formules de Cramer, avec des déterminants développés selon la première ligne, demandent n + 1 déterminants de taille n, chacun coûtant D(n) = n·D(n − 1) + 2n − 1 opérations, soit un nombre qui croît comme une factorielle.

    Nombre d'opérations (échelle logarithmique) : Gauss, Cramer par développement ; points pleins : comptés en exécutant vraiment le calcul.
    10
    Gauss : compté / formule—
    Cramer : opérations—
    Durée à 10⁹ opérations/s—
    Rapport Cramer / Gauss—

    Repères historiques

    Ce qu'il faut retenir

    Deux lectures

    En lignes, un système est une intersection de droites, de plans ou d'hyperplans. En colonnes, c'est la question : B est-il une combinaison des colonnes de A, et de combien de façons ? Les deux lectures donnent les mêmes solutions.

    Le rang décide

    Avec r = rang de A : le système est compatible si et seulement si rang [A | B] = r ; il a alors une solution unique si r = p, et sinon une infinité décrite par p − r paramètres. Les n − r équations restantes sont des conditions sur B.

    Calculer, c'est autre chose

    Pour une machine, il faut choisir de grands pivots, se méfier des systèmes mal conditionnés (on perd environ log₁₀ κ chiffres) et oublier Cramer au-delà de 3 ou 4 inconnues : Gauss coûte environ 2n³/3 opérations.

    Pour aller plus loin

    Gauss, c'est une factorisation. Les multiplicateurs employés pendant la descente forment une matrice triangulaire inférieure L, et le résultat de la descente une matrice triangulaire supérieure U : A = LU (à une permutation des lignes près quand on échange). Une fois A factorisée, chaque nouveau second membre ne coûte plus qu'environ 2n² opérations.

    Très grands systèmes. Pour des millions d'inconnues dont presque tous les coefficients sont nuls (éléments finis, réseaux), on préfère des méthodes itératives — Jacobi, Gauss–Seidel, gradient conjugué — qui améliorent une approximation au lieu de tout éliminer.

    Système incompatible, mais on veut une réponse. Quand n > p et que les mesures sont bruitées, il n'y a en général aucune solution exacte : on cherche alors X qui rend ‖AX − B‖ le plus petit possible (moindres carrés). C'est l'objet de la page sur la décomposition en valeurs singulières et la pseudo-inverse.

    Coefficients entiers, solutions entières. Si l'on exige des solutions en nombres entiers, les trois gestes du pivot ne suffisent plus (on ne peut pas diviser) : c'est la forme normale de Smith qui prend le relais.