Écrire un système sous la forme AX = B, faire le pivot sur la matrice augmentée, résoudre avec NumPy, vérifier la solution et savoir pourquoi le pivot reste utilisable pour des milliers d'inconnues.
La leçon, diapositive par diapositive
Diapositive 1 sur 7
Objectif de la leçon
Écrire un système sous forme matricielle
Utiliser la matrice augmentée
Résoudre avec NumPy et vérifier
Estimer le coût du pivot pour un grand système
Voix off
Jusqu'ici, tu as écrit les inconnues à chaque ligne. Pour trois équations, ça va. Pour un réseau électrique de deux cents nœuds ou un modèle économique de cinquante secteurs, c'est impossible. Les mathématiciens ont donc rangé les coefficients dans des tableaux de nombres, les matrices. Dans cette leçon, tu vas écrire un système sous forme matricielle, faire le pivot directement sur un tableau, puis confier le calcul à Python avec la bibliothèque NumPy. Tu verras aussi pourquoi un ordinateur résout sans peine des systèmes de milliers d'équations, et comment vérifier qu'il ne s'est pas trompé.
Diapositive 2 sur 7
Le système devient AX = B
A = [1 1 1 ; 2 1 3 ; 3 1 2]
X = (x, y, z) et B = (60, 130, 110), écrits en colonne
Une ligne de A multipliée par X redonne une équation
Convention : les lignes sont séparées par « ; »
Voix off
Reprends l'atelier de Dakar. On range les coefficients dans un tableau A de trois lignes et trois colonnes : la première ligne contient un, un, un, la deuxième deux, un, trois, la troisième trois, un, deux. Dans ce cours, on écrit une matrice ligne par ligne, en séparant les lignes par un point-virgule. On écrit les inconnues x, y, z dans une colonne X, et les seconds membres dans une colonne B. Le système s'écrit alors A fois X égale B. Multiplier une ligne de A par la colonne X, c'est faire la somme des produits terme à terme, ce qui redonne l'équation. Tu verras ce produit en détail au module 2.
Diapositive 3 sur 7
La matrice augmentée
(A | B) : on colle B à droite de A
Le pivot se fait sur les lignes du tableau
Forme échelonnée réduite : des 1 sur les pivots, des 0 autour
On lit alors la solution dans la dernière colonne
Voix off
Pour faire le pivot sans recopier les lettres, on colle la colonne B à droite de A, séparée par un trait. C'est la matrice augmentée. Les trois opérations permises s'appliquent à ses lignes, exactement comme aux équations. Tu peux aussi aller plus loin que la forme échelonnée : diviser chaque ligne par son pivot pour obtenir des un, puis éliminer aussi au-dessus des pivots. On obtient la forme échelonnée réduite, où la solution se lit directement dans la dernière colonne. Cette variante porte les noms de Gauss et de Jordan. Pour l'atelier, la dernière colonne finit par contenir dix, vingt, trente.
Diapositive 4 sur 7
Résoudre avec NumPy
import numpy as np
A = np.array([[1, 1, 1], [2, 1, 3], [3, 1, 2]])
b = np.array([60, 130, 110])
x = np.linalg.solve(A, b) donne [10. 20. 30.]
Voix off
Python, avec la bibliothèque libre NumPy, fait ce calcul pour toi. Tu importes NumPy sous le nom court np. Tu écris la matrice A ligne par ligne, chaque ligne entre crochets, puis le vecteur b. La fonction np point linalg point solve renvoie la solution : dix, vingt, trente. Les points après les nombres indiquent des nombres à virgule, car l'ordinateur calcule en virgule flottante. D'après sa documentation, solve demande une matrice carrée dont les lignes sont indépendantes. Sinon, elle s'arrête avec une erreur nommée LinAlgError. C'est utile : l'erreur te prévient que le système n'a pas une solution unique.
Diapositive 5 sur 7
Vérifier le calcul de la machine
A @ x doit redonner b, aux arrondis près
np.allclose(A @ x, b) répond True ou False
Le symbole @ est le produit matriciel en Python
Une machine se trompe rarement, une saisie souvent
Voix off
Ne fais jamais confiance aveuglément à un résultat, même calculé par une machine. Le plus souvent, l'erreur vient de la saisie : un coefficient oublié, un signe inversé, une ligne décalée. Pour vérifier, calcule A arobase x. En Python, le symbole arobase désigne le produit d'une matrice par un vecteur ou par une autre matrice. Tu dois retrouver b. Comme l'ordinateur arrondit, on ne teste pas une égalité exacte : on utilise np point allclose, qui répond vrai si les deux résultats sont égaux à de minuscules arrondis près. Si la réponse est fausse, relis d'abord ta matrice avant d'accuser la machine.
Diapositive 6 sur 7
Des milliers d'inconnues
Pivot : de l'ordre de n³ opérations pour n inconnues
n = 1 000 : environ un milliard d'opérations
Moins d'une seconde sur un ordinateur portable récent
Réseaux, charpentes, modèles économiques : même méthode
Voix off
Combien coûte le pivot ? Pour éliminer une inconnue, tu modifies presque toutes les lignes et presque toutes les colonnes. En tout, le nombre d'opérations grandit comme n au cube, où n est le nombre d'inconnues. Pour mille inconnues, cela fait de l'ordre d'un milliard d'opérations, ce qu'un ordinateur portable récent fait en moins d'une seconde. C'est pour cela que les ingénieurs résolvent couramment des systèmes énormes : réseaux électriques, charpentes, écoulements d'eau, modèles d'échanges entre secteurs. Dans le lab de ce module, tu résoudras un système de cinq cents inconnues et tu mesureras toi-même le temps de calcul.
Diapositive 7 sur 7
À retenir
AX = B : coefficients, inconnues, seconds membres
Matrice augmentée pour faire le pivot
np.linalg.solve pour calculer, A @ x pour vérifier
Le pivot reste rapide pour de grands systèmes
Voix off
Tu sais maintenant écrire n'importe quel système sous la forme A X égale B. La matrice augmentée te permet de faire le pivot proprement, et la forme échelonnée réduite donne la solution directement. Pour les grands systèmes, NumPy fait le travail avec solve, et tu vérifies toujours avec le produit A arobase x. Ce module t'a donné l'outil de base de toute l'algèbre linéaire. Avant de passer au calcul matriciel, fais le lab sur le dosage d'engrais, la simulation sur le réseau d'eau de Kankan et le quiz. Ils te montreront si le pivot est devenu un réflexe.
À retenir
Un système s'écrit AX = B : A contient les coefficients, X les inconnues, B les seconds membres.
La matrice augmentée (A | B) permet de faire le pivot sans réécrire les inconnues ; la forme échelonnée réduite donne la solution directement.
numpy.linalg.solve résout un système carré dont la matrice est inversible ; on vérifie toujours A @ x contre b.
Fais les exercices, le quiz et obtiens ton certificat dans ton espace
Avec ton compte, les deux premiers modules sont offerts : leçons, labs, simulations, quiz et tuteur. Débloque la suite du parcours pour 100 000 GNF. Le certificat vérifiable, délivré à la fin, coûte 399 000 GNF.
Indépendance. Ce parcours est indépendant : il n'est affilié ni à la Python Software Foundation, ni au projet NumPy, ni à Google, dont la méthode PageRank est présentée à titre d'exemple.