Accueil Formations Établissements Mon espace Services Galerie À propos Communauté Portfolio Contact Me contacter

Leçon offerteModule 01 · Leçon 01.0413 min

La forme matricielle et le calcul en Python

Parcours 138 : Algèbre linéaire : systèmes, matrices, déterminants et diagonalisation · Fondamentaux

Objectif de la leçon

É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.