En raison de limitations techniques, la typographie souhaitable du titre, « Matrice : Produit matriciel Matrice/Produit matriciel », n'a pu être restituée correctement ci-dessus.
Nous allons introduire dans ce chapitre la notion de produit matriciel. Cette notion n'est pas immédiate ; il faudra prendre soin de bien la maîtriser.
Soient et deux matrices telles que la largeur de la première soit égale à la hauteur de la seconde. Le produit de par est la matrice suivante :
.
Plus explicitement :
.
Remarque
Attention à l’ordre des matrices !
Dans cette définition, l’ordre des matrices dans le produit a une importance : en effet, le produit n'est défini que si le nombre de colonnes de la première égale le nombre de lignes de la seconde. Dans nos exemples 2 et 4 ci-dessous, l'un des deux produits existe mais pas l'autre. Dans le cas général, il peut arriver que les deux produits existent mais soient de tailles différentes ou même, comme dans l'exemple 3, qu'ils aient même taille mais soient différents.
Début de l'exemple
Exemple 2
.
Dans , le nombre de colonnes est 3,
dans , le nombre de lignes est 2,
donc n'existe pas.
En revanche, existe (quelle est sa taille ?).
Fin de l'exemple
Mode de calcul
Tentons de la clarifier la définition. Pour calculer le premier coefficient de la première ligne :
on prend la première ligne de A, L₁ ;
on prend la première colonne de B, C₁ ;
on multiplie le premier coefficient de L₁ par le premier coefficient de C₁ ;
on multiplie le deuxième coefficient de L₁ par le deuxième coefficient de C₁ ;
...
on multiplie le n-ième coefficient de L₁ par le n-ième coefficient de C₁ ;
on ajoute ces résultats : c’est le premier coefficient de AB.
Pour calculer les autres coefficients, on procède de même avec les autres colonnes de B (on aura ainsi tous les coefficients de la première ligne de B), puis avec la seconde ligne de A, etc.
Il est coutume de poser un produit matriciel comme sur le dessin ci-contre : la première à gauche, la seconde au-dessus. Le résultat est la matrice au centre. Elle a autant de lignes que A et autant de colonnes que B.
Puisqu'en général le produit matriciel est une application de dans , il est en particulier une loi interne sur . Cette loi n'est pas commutative (cf. Exemple 3) mais elle est associative, admet un élément neutre , et elle est distributive par rapport à l'addition.
Toutes ces propriétés sont immédiates sauf peut-être l'associativité, que nous admettons provisoirement (on peut la prouver soit par un calcul élémentaire mais illisible à moins de l'écrire soi-même, soit de façon plus conceptuelle, cf. chapitre « Matrice d'une application linéaire »). On les résume par :
Propriété
, muni de l'addition des matrices et du produit matriciel, est un anneau unifère.
Remarquons de plus que, dans ce contexte, le produit par un scalaire (voir supra) n'est autre que le produit par la matrice scalaire. Ainsi, si K est un corps commutatif (comme ou ), alors est une algèbre sur ce corps, et les matrices diagonales forment une sous-algèbre (en particulier : ). Tout est donc bel et bon… sauf que :
Remarque
Une matrice non nulle n'est pas forcément inversible ni même simplifiable :
n'implique pas
et de même, n'implique pas .
Début de l'exemple
Exemple
.
Fin de l'exemple
Nous étudierons en détail ce problème au chapitre « Inverse ». Pour « préparer le terrain », nous parlerons, dans les deux chapitres qui suivent, du déterminant d'une matrice carrée et d'abord, plus accessoirement, de la transposée d'une matrice quelconque.
Il existe d'autres « produits » de matrices, comme le produit de Hadamard ou le produit de Kronecker (ou produit tensoriel). Nous ne les aborderons pas dans le cadre de cette leçon.
Le produit d'un vecteur ligne par un vecteur colonne est un nombre. Ce nombre est le produit scalaire des deux vecteurs.
L'efficacité algorithmique du produit matriciel est toujours l’objet de recherches actuelles. L'algorithme manuel présenté dans ce chapitre possède une complexité en O(n³). L'algorithme de Coppersmith-Winograd (1990) possède une complexité en O(n2,376), mais n'est réellement efficace que pour de très grosses matrices.