# Matrice/Produit matriciel

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.

## Multiplication par un scalaire

Avant de se lancer dans les choses difficiles, on peut compléter de façon très naturelle la structure définie au chapitre précédent.
Le produit d'une matrice $A\in \mathrm {M} _{m,n}(K)$ par un scalaire $\lambda \in K$ est la matrice $\lambda A\in \mathrm {M} _{m,n}(K)$ dont les coefficients sont ceux de $A$ multipliés par $\lambda$ :
    $\lambda \;\left(a_{i,j}\right)_{(i,j)\in \left[\![1,m]\!\right]\times \left[\![1,n]\!\right]}:=\left(\lambda a_{i,j}\right)_{(i,j)\in \left[\![1,m]\!\right]\times \left[\![1,n]\!\right]}$.
$2\;{\begin{pmatrix}0&1&2\\3&4&5\\\end{pmatrix}}={\begin{pmatrix}0&2&4\\6&8&10\\\end{pmatrix}}$.
$\mathrm {M} _{m,n}(K)$, muni de l'addition des matrices et de leur multiplication par les scalaires, est un espace vectoriel.

## Produit de matrices

Soient $A=\left(a_{i,j}\right)_{(i,j)\in \left[\![1,m]\!\right]\times \left[\![1,n]\!\right]}\in \mathrm {M} _{m,n(K)}$ et $B=\left(b_{i,j}\right)_{(i,j)\in \left[\![1,n]\!\right]\times \left[\![1,p]\!\right]}\in \mathrm {M} _{n,p(K)}$ deux matrices telles que la largeur de la première soit égale à la hauteur de la seconde. Le produit de $A$ par $B$ est la matrice suivante :
    $AB=\left(\sum _{k=1}^{n}a_{i,k}b_{k,j}\right)_{(i,j)\in \left[\![1,m]\!\right]\times \left[\![1,p]\!\right]}\in \mathrm {M} _{m,p(K)}$.
Plus explicitement :
    $AB={\begin{pmatrix}\sum _{k=1}^{n}a_{1,k}b_{k,1}&\sum _{k=1}^{n}a_{1,k}b_{k,2}&\cdots &\sum _{k=1}^{n}a_{1,k}b_{k,p}\\\sum _{k=1}^{n}a_{2,k}b_{k,1}&\sum _{k=1}^{n}a_{2,k}b_{k,2}&\cdots &\sum _{k=1}^{n}a_{2,k}b_{k,p}\\\vdots &\vdots &\ddots &\vdots \\\sum _{k=1}^{n}a_{m,k}b_{k,1}&\sum _{k=1}^{n}a_{m,k}b_{k,2}&\cdots &\sum _{k=1}^{n}a_{m,k}b_{k,p}\end{pmatrix}}$.
* 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.
    $A={\begin{pmatrix}1&2&3\\4&5&6\\1&1&1\end{pmatrix}},\quad B={\begin{pmatrix}1&2&3\\1&1&1\end{pmatrix}}$.
Dans $A$, le nombre de colonnes est 3,
dans $B$, le nombre de lignes est 2,
donc $AB$ n'existe pas.
En revanche, $BA$ existe (quelle est sa taille ?).
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.

## Exemples

Le lecteur est invité à reproduire et compléter ces exemples, à titre d'exercice.
${\begin{pmatrix}1&2\\3&4\end{pmatrix}}{\begin{pmatrix}1&2\\2&2\end{pmatrix}}={\begin{pmatrix}1\times 1+2\times 2&1\times 2+2\times 2\\3\times 1+4\times 2&3\times 2+4\times 2\end{pmatrix}}={\begin{pmatrix}5&6\\11&14\end{pmatrix}}$.
${\begin{pmatrix}1&2\\2&2\end{pmatrix}}{\begin{pmatrix}1&2\\3&4\end{pmatrix}}=\dots ={\begin{pmatrix}7&10\\8&12\end{pmatrix}}$.
    ${\begin{pmatrix}1&2\\3&4\\5&6\\7&8\end{pmatrix}}{\begin{pmatrix}1&2&3\\4&5&6\end{pmatrix}}={\begin{pmatrix}1\times 1+2\times 4&1\times 2+2\times 5&1\times 3+2\times 6\\3\times 1+4\times 4&3\times 2+4\times 5&3\times 3+4\times 6\\5\times 1+6\times 4&5\times 2+6\times 5&5\times 3+6\times 6\\7\times 1+8\times 4&7\times 2+8\times 5&7\times 3+8\times 6\end{pmatrix}}={\begin{pmatrix}9&12&15\\19&26&33\\29&40&51\\39&54&69\end{pmatrix}}$.

## Matrice identité

Il existe une matrice carrée de taille n qui, multipliée par toute autre matrice pour laquelle le produit existe, ne la modifie pas :
On appelle matrice identité de taille n la matrice
    $\mathrm {I} _{n}={\begin{pmatrix}1&0&\cdots &0\\0&1&\cdots &0\\\vdots &\ &\ddots &\vdots \\0&0&\cdots &1\end{pmatrix}}$.
$\mathrm {I} _{2}={\begin{pmatrix}1&0\\0&1\end{pmatrix}}$.
On montre facilement :
* $\forall A\in \mathrm {M} _{m,n}\left(K\right)\quad A\mathrm {I} _{n}=A$.
* $\forall B\in \mathrm {M} _{n,p}\left(K\right)\quad \mathrm {I} _{n}B=B$.

## Structure d'anneau

Puisqu'en général le produit matriciel est une application de $\mathrm {M} _{m,n}\left(K\right)\times \mathrm {M} _{n,p}\left(K\right)$ dans $\mathrm {M} _{m,p}\left(K\right)$, il est en particulier une loi interne sur $\mathrm {M} _{n}\left(K\right)$. Cette loi n'est pas commutative (cf. Exemple 3) mais elle est associative, admet un élément neutre $\mathrm {I} _{n}$, 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 :
$\mathrm {M} _{n}\left(K\right)$, 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 $\lambda$ (voir supra) n'est autre que le produit par la matrice scalaire $\lambda \mathrm {I} _{n}$. Ainsi, si K est un corps commutatif (comme $\mathbb {R}$ ou $\mathbb {C}$), alors $\mathrm {M} _{n}\left(K\right)$ est une algèbre sur ce corps, et les matrices diagonales forment une sous-algèbre (en particulier : $\operatorname {diag} (a_{1},\dots ,a_{n})\operatorname {diag} (b_{1},\dots ,b_{n})=\operatorname {diag} (a_{1}b_{1},\dots ,a_{n}b_{n})$). Tout est donc bel et bon… sauf que :
* Une matrice non nulle n'est pas forcément inversible ni même simplifiable :
et de même, $\left(BA=CA{\text{ et }}A\neq \mathrm {0} \right)$ n'implique pas $B=C$.
${\begin{pmatrix}0&1\\0&0\end{pmatrix}}^{2}=\mathrm {0}$.
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.

## Remarques

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(n$^{2,376}$), mais n'est réellement efficace que pour de très grosses matrices.
| Addition et soustraction | Transposée |