Adloun

Systèmes linéaires et calcul matriciel

Cours complet · mathématiques (ECT 1re année), chapitre 8 · prépa ECT, 1re année

Travailler ce chapitre sur Adloun Exercices corrigés de ce chapitre

Une entreprise fabrique trois produits, et chacun consomme des heures dans trois ateliers. Combien produire de chaque, pour occuper exactement les heures disponibles ? La question s'écrit en trois équations à trois inconnues, et ce chapitre donne la méthode qui les résout à coup sûr : le pivot de Gauss. Il donne aussi l'outil qui range ces données sans les recopier dix fois : la matrice, un tableau de nombres muni d'opérations qui traduisent des calculs de gestion.

AttentionLe registre de ce chapitre

Le programme est explicite dès sa première ligne : « Ce chapitre sera repris, en deuxième année, avec une étude plus spécifique des matrices carrées. Tout développement théorique est hors programme. »

Il ajoute, pour le pivot : « On présentera la méthode du pivot de Gauss à l'aide d'exemples numériques et on se limitera à des systèmes de trois équations à trois inconnues. » Et pour les matrices : « La notation des coefficients sous la forme n'est pas un attendu du programme. Le programme exclut toute notion de structure. »

On travaille donc sur des nombres, avec des exemples issus de situations concrètes. Rien ne sera démontré sur les matrices : le programme précise que « les propriétés des opérations seront admises sans démonstration et illustrées sur des exemples ».

8.1 Systèmes linéaires

Définition 8.1Système linéaire

Une équation est linéaire en les inconnues , , lorsqu'elle s'écrit , avec , , , réels : les inconnues n'y apparaissent qu'à la puissance , jamais multipliées entre elles, jamais sous une racine.

Un système linéaire est une liste de telles équations. Le résoudre, c'est décrire tous les triplets qui les vérifient toutes à la fois.

Exemple 8.2Deux équations, deux inconnues

Pour le système et , ajouter les deux lignes fait disparaître : , donc , et la seconde ligne donne .

Contrôle, toujours : et . Le couple est bien solution, et c'est la seule.

ImportantCe qu'un système à deux inconnues veut dire

Chaque équation est l'équation d'une droite du plan. Résoudre le système, c'est chercher les points communs à ces droites. Il n'y a donc que trois issues possibles :

  • les droites se coupent en un point : une solution ;
  • elles sont strictement parallèles : aucune solution ;
  • elles sont confondues : une infinité de solutions.

Un système linéaire n'a jamais exactement deux solutions.

iRemarqueEt avec trois inconnues ?

Chaque équation décrit alors un plan de l'espace, et les trois mêmes issues subsistent : un point, aucun point, ou une infinité. Cette lecture explique pourquoi la liste des cas ne s'allonge pas.

8.2 Les opérations élémentaires sur les lignes

ImportantLe codage officiel des opérations

Trois transformations ne changent pas l'ensemble des solutions d'un système. On les note ainsi, et on les écrit à côté de la ligne transformée :

  • : échanger deux lignes ;
  • avec : multiplier une ligne par un nombre non nul ;
  • avec : ajouter à une ligne un multiple d'une autre ligne.

On combine les deux dernières en , avec et .

AttentionLa ligne qu'on modifie n'est jamais celle qu'on utilise

Dans , la ligne sert sans être touchée : elle reste disponible pour la suite. Écrire au contraire et dans le même mouvement, en se servant deux fois de valeurs déjà modifiées, produit un système qui n'a plus rien à voir avec le premier. Une opération à la fois, et on note laquelle.

8.3 La méthode du pivot de Gauss

ImportantLe principe, en deux temps

Descente. On choisit dans la première colonne un coefficient non nul, le pivot, et on s'en sert pour faire apparaître des zéros en dessous de lui. On recommence avec la deuxième colonne, sans plus toucher à la première ; puis avec la troisième. Le système devient triangulaire.

Remontée. La dernière équation ne contient plus qu'une inconnue : on la calcule, on la reporte dans l'avant-dernière, et ainsi de suite jusqu'en haut.

Exemple 8.3Un système de trois équations à trois inconnues

Un atelier assemble trois modèles, en quantités , et . On connaît le nombre total d'articles, le nombre de composants et le nombre d'heures consommées :

Descente. Le pivot est le de la première ligne.

Le nouveau pivot est le de la deuxième ligne : donne .

Remontée. De on tire . Puis donne . Enfin .

Contrôle. ; ; . Le triplet est bien l'unique solution.

iRemarquePourquoi la méthode ne peut pas échouer

Chaque opération élémentaire se défait par une opération de même nature : le système obtenu a donc exactement les mêmes solutions que celui de départ. C'est ce qui distingue le pivot des combinaisons astucieuses trouvées au cas par cas : il marche sur n'importe quel système, y compris ceux qui n'ont pas de solution — et il le dit.

Python : Contrôler une solution plutôt que la recopier


import numpy as np

A = np.array([[1, 1, 1], [2, 1, 3], [1, 4, 2]])
B = np.array([100, 220, 240])
X = np.array([20, 30, 50])

print(A @ X)              # [100 220 240]
print(np.shape(A))        # (3, 3)
print(np.all(A @ X == B)) # True

Le symbole @ est le produit matriciel de numpy ; np.shape rend le couple (nombre de lignes, nombre de colonnes). La machine ne résout pas le système ici : elle vérifie le résultat, ce qui est exactement le contrôle qu'on doit faire à la main.

Exemple 8.4Quand la descente s'arrête sur une absurdité

Considérons

L'opération donne : aucun triplet ne peut vérifier cela, le système n'a pas de solution, il est incompatible. Si la seconde ligne avait été , la même opération aurait donné — une ligne qui ne dit rien, et une infinité de solutions.

AttentionUn pivot ne vaut jamais zéro

Si le coefficient choisi comme pivot est nul, l'opération ne fabrique aucun zéro. On échange alors deux lignes () pour amener un coefficient non nul en position de pivot : c'est le seul usage de l'échange.

8.4 Matrices

Définition 8.5Matrice

Une matrice à lignes et colonnes est un tableau de nombres réels, rangés en lignes et colonnes et écrits entre parenthèses. L'ensemble de ces matrices se note .

On dit que la matrice est de taille ; on lit toujours les lignes d'abord. Lorsque , la matrice est dite carrée.

Définition 8.6Matrice ligne, matrice colonne

Une matrice à une seule ligne () est une matrice ligne ; une matrice à une seule colonne () est une matrice colonne.

Exemple 8.7Une matrice de production

Un atelier de menuiserie et un atelier de finition interviennent sur trois meubles : une table demande heures de menuiserie et de finition, une chaise et , une étagère et . On range ces six nombres en , de taille : une ligne par atelier, une colonne par meuble.

8.5 Opérations sur les matrices

Définition 8.8Somme et multiplication par un réel

On n'additionne que des matrices de même taille, et l'on additionne case par case. Multiplier une matrice par un réel , c'est multiplier chaque case par .

Exemple 8.9Ce que la somme veut dire

Si donne les heures du premier semestre et celles du second, donne les heures de l'année ; et si tous les temps augmentent de , la nouvelle matrice est . La situation choisit l'opération.

Définition 8.10Produit de deux matrices

Le produit n'existe que si le nombre de colonnes de est égal au nombre de lignes de . Si est de taille et de taille , alors est de taille .

La case de située à la ligne et à la colonne s'obtient en prenant la -ième ligne de et la -ième colonne de , en multipliant leurs termes deux à deux dans l'ordre, et en ajoutant tout.

Exemple 8.11Des heures, à partir de quantités

Reprenons et produisons tables, chaises et étagères, c'est-à-dire . Alors

La menuiserie travaillera heures et la finition heures. Le produit matriciel n'est pas une convention arbitraire : c'est exactement le calcul qu'on aurait fait à la main.

ImportantLes règles, admises et à connaître

Pour des tailles compatibles :

et pour tout réel . Le programme demande de les admettre : « les propriétés des opérations seront admises sans démonstration et illustrées sur des exemples ».

AttentionDeux réflexes de collège qui deviennent faux

Le produit n'est pas commutatif. Avec et :

En conséquence vaut , et non .

Un produit nul n'oblige aucun facteur à l'être. Avec et , est la matrice nulle alors que ni ni ne l'est.

AttentionOn ne divise jamais par une matrice

Il n'existe pas de « division » matricielle : l'écriture n'a aucun sens. De on ne peut donc pas conclure : avec , et , les deux produits valent alors que . Ce qui remplacera la division — l'inverse d'une matrice carrée — est au programme de deuxième année, et de là seulement.

Python : Les trois opérations, en une ligne chacune


import numpy as np

M = np.array([[3, 5, 2], [4, 1, 6]])
q = np.array([10, 20, 30])
cout = np.array([25, 18])

print(M @ q)          # [190 240]
print(cout @ (M @ q)) # 9070
print(cout @ M)       # [147 143 158]

La deuxième ligne donne le coût total en euros ( euros l'heure de menuiserie, euros celle de finition). La troisième donne le coût unitaire de chaque meuble : , et euros. Et : les deux chemins donnent le même total, c'est l'associativité vue sur un cas.

8.6 Écriture matricielle d'un système

ImportantUn système tient en trois lettres

Le système

avec

est la matrice des coefficients, la colonne des inconnues, celle des seconds membres.

iRemarqueCe que cette écriture apporte, et quand

En première année, l'écriture est surtout un rangement : le pivot reste l'outil de résolution. C'est en deuxième année, avec l'étude des matrices carrées, qu'elle deviendra un instrument de calcul à part entière.

Continuer sur Adloun : animation, QCM, fiches, exercices