Matrices carrées et inversibilité
Cours complet · mathématiques (ECT 2e année), chapitre 1 · prépa ECT, 2e année
Travailler ce chapitre sur Adloun Exercices corrigés de ce chapitre
Une matrice n'est rien d'autre qu'un tableau de nombres. Ce qui la rend utile, c'est qu'on peut la manipuler comme un seul objet : l'ajouter, la multiplier, parfois l'inverser — et qu'un système de trois équations à trois inconnues se réécrit alors en une seule ligne, . Tout ce chapitre se lit sur des tableaux de taille ou : un carnet de commandes, un parc de véhicules entre trois agences, un système de coûts y tiennent tous.
Deux phrases encadrent le chapitre. La première : « Le programme exclut toute notion de structure. On ne traite que le cas des matrices réelles. » Ni groupe, ni anneau, ni espace vectoriel : on calcule sur des tableaux de nombres réels, et c'est tout. La seconde : « On se limitera à des matrices carrées d'ordre inférieur ou égal à . »
1.1 Matrices carrées
Une matrice carrée d'ordre est un tableau de lignes et colonnes de nombres réels, noté , où est le coefficient situé à l'intersection de la ligne et de la colonne . L'ensemble de ces matrices se note .
Deux matrices de sont égales lorsque tous leurs coefficients le sont, un par un.
Soit dans .
- est triangulaire supérieure si dès que : tout ce qui est sous la diagonale est nul.
- est triangulaire inférieure si dès que : tout ce qui est au-dessus de la diagonale est nul.
- est diagonale si dès que : elle est à la fois triangulaire supérieure et triangulaire inférieure.
La matrice identité est la matrice diagonale dont tous les coefficients diagonaux valent .
est triangulaire supérieure, triangulaire inférieure, diagonale. Attention : rien n'oblige une matrice diagonale à avoir des coefficients diagonaux non nuls — en a un qui vaut , et cela coûtera cher au moment d'inverser.
Pour et dans et réel, on pose et : on ajoute et l'on multiplie case par case. La matrice dont tous les coefficients sont nuls se note ; elle vérifie .
Les commandes d'une entreprise auprès de trois fournisseurs, en janvier puis en février, sont et . Le total du bimestre est : neuf additions, écrites en trois signes.
1.2 Le produit de deux matrices
Soient et dans . Le produit est la matrice dont le coefficient de la ligne et de la colonne vaut
On dit qu'on fait le produit de la ligne de par la colonne de .
Trois habitudes prises au collège tombent d'un coup.
- Le produit n'est pas commutatif : en général . Les deux produits existent, ils sont de même taille, et ils diffèrent.
- Un produit nul n'oblige aucun facteur à l'être : on peut avoir avec et , comme le montre .
- On ne simplifie pas : n'entraîne pas .
En revanche le produit reste associatif, et .
Python : Vérifier un produit, et sa non-commutativité
import numpy as np
A = np.array([[1, 2], [3, 4]])
B = np.array([[0, 1], [1, 0]])
print((A @ B).tolist()) # [[2, 1], [4, 3]]
print((B @ A).tolist()) # [[3, 4], [1, 2]]
Multiplier par à droite échange les colonnes de , à gauche ses lignes : deux opérations différentes, deux résultats différents. En Python, @ est le produit matriciel ; * ferait un produit case par case, qui n'est pas celui du cours — l'erreur la plus fréquente des premiers programmes.
1.2.1 Un parc de véhicules entre trois agences
Un loueur possède trois agences , et . Chaque mois, une partie des véhicules loués dans une agence est rendue dans une autre. La matrice
se lit par colonnes : la colonne décrit ce que devient le parc de — y restent, partent en , en . Chaque colonne somme à : aucun véhicule ne disparaît. Si est la colonne des effectifs au mois , alors .
Partons de , soit véhicules. Alors
Détail de la première coordonnée de : . Les trois coordonnées somment encore à , car les colonnes de somment à .
1.3 Puissances d'une matrice carrée
Pour et entier naturel, on pose et : est le produit de facteurs égaux à .
Si est la matrice diagonale de coefficients diagonaux , alors pour tout entier , est diagonale de coefficients diagonaux . Ainsi donne .
Démonstration
Le coefficient de vaut , dont tous les termes sont nuls sauf éventuellement celui où : on obtient sur la diagonale et ailleurs. Une récurrence conclut.
Une matrice de est nilpotente s'il existe un entier tel que .
Pour on trouve et . Le seul coefficient survivant de est ; à l'étape suivante il n'y a plus rien à multiplier.
Soient et dans telles que . Alors pour tout entier :
La formule est fausse sans l'hypothèse . Déjà au carré : , et l'on ne peut regrouper en que si les deux produits coïncident. Avant d'écrire un binôme, on vérifie la commutation — toujours.
Le programme précise d'ailleurs le terrain de jeu : « On se limitera à des exemples simples, par exemple lorsque l'une des matrices est nilpotente. » En pratique, on écrira presque toujours avec nilpotente ; et commute avec tout.
Soit . On écrit avec la nilpotente de l'exemple précédent.
commute avec , donc le binôme s'applique ; comme , tous les termes d'indice disparaissent :
Pour : , d'où .
Python : Nilpotence et binôme, mis à l'épreuve
import numpy as np
N = np.array([[0, 1, 2], [0, 0, 3], [0, 0, 0]])
I = np.eye(3, dtype=int)
print((N @ N).tolist()) # [[0, 0, 3], [0, 0, 0], [0, 0, 0]]
print((N @ N @ N).tolist()) # [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
A = I + N
print((A @ A @ A @ A).tolist())
# [[1, 4, 26], [0, 1, 12], [0, 0, 1]]
print((I + 4*N + 6*(N @ N)).tolist())
# [[1, 4, 26], [0, 1, 12], [0, 0, 1]]
Les deux dernières sorties coïncident : le produit répété et le binôme donnent la même matrice, et le coefficient est .
1.4 Matrices inversibles
Une matrice est inversible s'il existe telle que . Une telle matrice est alors unique ; on l'appelle l'inverse de et on la note .
Démonstration (Unicité de l'inverse)
Si et conviennent toutes deux, alors : on n'a utilisé que l'associativité.
Soit . Alors est inversible si et seulement si , et dans ce cas
Le nombre se note .
Démonstration
Posons et . Un calcul direct donne .
Si , la matrice convient. Si et si était inversible, alors multipliée à gauche par donnerait , donc , qui n'est pas inversible. Contradiction.
Le programme est catégorique : « La notation pourra être utilisée, mais elle sera limitée au cas des matrices carrées d'ordre . La notion de déterminant est hors-programme. »
On écrira donc pour une matrice à quatre coefficients, et jamais rien d'autre : ni calcul sur un tableau d'ordre , ni développement, ni règle générale. Pour l'ordre , le pivot de Gauss et la résolution de suffisent amplement.
Pour : , donc , et l'on vérifie que .
Pour : , donc n'est pas inversible. On le voit d'ailleurs à l'œil nu — la première ligne est le double de la seconde.
Une matrice triangulaire (supérieure ou inférieure) est inversible si et seulement si tous ses coefficients diagonaux sont non nuls ; son inverse est alors triangulaire de même sens. Résultat admis.
a pour diagonale : aucun zéro, elle est inversible. En revanche a pour diagonale : un seul zéro suffit à l'exclure.
Le critère ne coûte qu'un coup d'œil — encore faut-il avoir vérifié que la matrice est bien triangulaire.
Si et sont inversibles, alors l'est aussi et
Démonstration
, et le calcul symétrique donne . L'ordre s'inverse : on défait en commençant par la dernière opération faite.
- Ordre : calculer . Non nul, la formule donne l'inverse ; nul, la matrice n'est pas inversible. C'est immédiat.
- Triangulaire ou diagonale : lire la diagonale. Aucun zéro, inversible ; un zéro, non inversible.
- Ordre quelconque : le pivot de Gauss sur ou la résolution de — le même calcul, écrit autrement.
Aucune autre méthode n'est attendue, et aucune n'est nécessaire.
1.5 Systèmes linéaires et inverse
Le système de équations à inconnues dont la ligne s'écrit se met sous la forme , où est la matrice du système, la colonne des inconnues et celle des seconds membres.
Si est inversible, le système admet une solution et une seule, donnée par .
Démonstration
Si , multiplier à gauche par donne : il n'y a pas d'autre candidat. Réciproquement : il convient.
1.5.1 Calculer l'inverse par le pivot de Gauss
On écrit côte à côte et , puis on applique aux deux tableaux les mêmes opérations sur les lignes, jusqu'à transformer celui de gauche en : celui de droite est alors . Trois opérations sont autorisées — échanger deux lignes, multiplier une ligne par un réel non nul, ajouter à une ligne un multiple d'une autre.
Reprenons et résolvons avec :
donne ; en retranchant il reste . On remonte : , puis .
Les coefficients de , , dans , , forment exactement les lignes de : les deux méthodes ne font qu'un seul calcul.
Pour on obtient donc , et le contrôle dans le système de départ donne bien , et .
Python : L'inverse, et le système
import numpy as np
A = np.array([[1, 1, 1], [0, 1, 2], [1, 2, 4]])
B = np.array([[0, -2, 1], [2, 3, -2], [-1, -1, 1]])
print((A @ B).tolist()) # [[1, 0, 0], [0, 1, 0], [0, 0, 1]]
Y = np.array([6, 8, 17])
print((B @ Y).tolist()) # [1, 2, 3]
La première sortie est : est bien l'inverse de . La seconde donne la solution du système, sans l'avoir résolu ligne à ligne.
Le programme écarte la résolution de systèmes à paramètres, jugée « à proscrire ». Les seconds membres littéraux ci-dessus n'en sont pas : la matrice du système, elle, reste entièrement numérique.