Le produit de matrices est une opération fondamentale en algèbre linéaire. On le retrouve partout : en résolution de systèmes linéaires, en changement de base, en machine learning (chaque couche d’un réseau de neurones effectue un produit matriciel). Pourtant, il déroute souvent les étudiants car il ne fonctionne pas comme un simple produit terme à terme. Cet article donne la définition rigoureuse du produit matriciel, explique la condition de compatibilité des tailles, détaille les propriétés essentielles et propose une méthode pratique pour calculer un produit sans erreur.
Définition du produit de matrices
Soit A \in \mathcal{M}_{n,p}(\mathbb{R}) une matrice à n lignes et p colonnes, et B \in \mathcal{M}_{p,q}(\mathbb{R}) une matrice à p lignes et q colonnes. Le produit C = AB est la matrice de \mathcal{M}_{n,q}(\mathbb{R}) dont le coefficient situé à la ligne i et la colonne j vaut :
c_{ij} = \sum_{k=1}^{p} a_{ik} , b_{kj}Autrement dit, le coefficient c_{ij} est le produit scalaire de la i-ème ligne de A par la j-ème colonne de B.
Condition de compatibilité : le produit AB n’est défini que si le nombre de colonnes de A est égal au nombre de lignes de B. Concrètement, une matrice de taille (n, p) multipliée par une matrice de taille (p, q) donne une matrice de taille (n, q). La dimension commune p « disparaît » dans le résultat.
On peut retenir la règle suivante : dans le produit (n, \mathbf{p}) \times (\mathbf{p}, q) \to (n, q), les dimensions intérieures doivent coïncider (les deux p) et les dimensions extérieures donnent la taille du résultat.
Par exemple, on peut multiplier une matrice (2, 3) par une matrice (3, 5) et on obtient une matrice (2, 5). En revanche, on ne peut pas multiplier une matrice (2, 3) par une matrice (2, 3) car 3 \neq 2.
Interprétation : composition d’applications linéaires
Le produit de matrices traduit la composition d’applications linéaires. Si f : \mathbb{R}^q \to \mathbb{R}^p a pour matrice B et g : \mathbb{R}^p \to \mathbb{R}^n a pour matrice A, alors la composée g \circ f : \mathbb{R}^q \to \mathbb{R}^n a pour matrice AB.
Cette interprétation explique pourquoi le produit matriciel n’est pas commutatif (composer f puis g n’est pas la même chose que g puis f) et pourquoi il est associatif (la composition de fonctions l’est).
Propriétés du produit matriciel
Le produit de matrices vérifie les propriétés suivantes (on suppose les tailles compatibles dans chaque cas) :
Associativité : (AB)C = A(BC). On peut donc écrire ABC sans ambiguïté.
Distributivité : A(B + C) = AB + AC et (A + B)C = AC + BC.
Compatibilité avec le scalaire : \lambda(AB) = (\lambda A)B = A(\lambda B) pour tout \lambda \in \mathbb{R}.
Élément neutre : I_n A = A et A I_p = A, où I_n et I_p sont les matrices identité de taille appropriée.
Transposée d’un produit : (AB)^\top = B^\top A^\top. Attention, l’ordre est inversé.
Non-commutativité : en général, AB \neq BA. Il peut même arriver que AB soit défini mais pas BA (par exemple si A est (2,3) et B est (3,4)). Même quand A et B sont carrées, le produit n’est généralement pas commutatif.
Produit et matrice nulle : AB = 0 n’implique pas que A = 0 ou B = 0. L’anneau des matrices n’est pas intègre.
Méthode : calculer un produit de matrices pas à pas
Pour calculer C = AB sans erreur, voici la démarche à suivre.
- Vérifier la compatibilité des tailles. Si A est (n, p) et B est (p, q), le résultat sera de taille (n, q).
- Pour chaque coefficient c_{ij}, prendre la ligne i de A et la colonne j de B, puis calculer la somme des produits terme à terme.
- Remplir la matrice résultat case par case, par exemple ligne par ligne.
Exemple détaillé : calculons le produit AB avec :
A = \left(\begin{array}{cc} 3 & 4 \\ 2 & 2 \end{array}\right), \quad B = \left(\begin{array}{cc} 1 & 2 \\ 1 & 1 \end{array}\right)A est (2,2) et B est (2,2), donc C = AB sera de taille (2,2).
Coefficient c_{11} (ligne 1 de A, colonne 1 de B) : 3 \times 1 + 4 \times 1 = 7.
Coefficient c_{12} (ligne 1 de A, colonne 2 de B) : 3 \times 2 + 4 \times 1 = 10.
Coefficient c_{21} (ligne 2 de A, colonne 1 de B) : 2 \times 1 + 2 \times 1 = 4.
Coefficient c_{22} (ligne 2 de A, colonne 2 de B) : 2 \times 2 + 2 \times 1 = 6.
D’où :
AB = \left(\begin{array}{cc} 7 & 10 \\ 4 & 6 \end{array}\right)Contre-exemple de commutativité : calculons maintenant BA :
Coefficient (BA)_{11} : 1 \times 3 + 2 \times 2 = 7.
Coefficient (BA)_{12} : 1 \times 4 + 2 \times 2 = 8.
Coefficient (BA)_{21} : 1 \times 3 + 1 \times 2 = 5.
Coefficient (BA)_{22} : 1 \times 4 + 1 \times 2 = 6.
D’où :
BA = \left(\begin{array}{cc} 7 & 8 \\ 5 & 6 \end{array}\right)On constate que AB \neq BA, ce qui illustre la non-commutativité du produit matriciel.
Exemple avec des tailles différentes : calculons AB avec :
A = \left(\begin{array}{cc} 1 & 0 \\ 2 & 1 \\ 3 & 2 \end{array}\right), \quad B = \left(\begin{array}{ccc} 1 & 2 & 3 \\ 4 & 5 & 6 \end{array}\right)A est (3,2) et B est (2,3), donc C = AB sera (3,3).
c_{11} = 1 \times 1 + 0 \times 4 = 1, c_{12} = 1 \times 2 + 0 \times 5 = 2, c_{13} = 1 \times 3 + 0 \times 6 = 3.
c_{21} = 2 \times 1 + 1 \times 4 = 6, c_{22} = 2 \times 2 + 1 \times 5 = 9, c_{23} = 2 \times 3 + 1 \times 6 = 12.
c_{31} = 3 \times 1 + 2 \times 4 = 11, c_{32} = 3 \times 2 + 2 \times 5 = 16, c_{33} = 3 \times 3 + 2 \times 6 = 21.
D’où :
AB = \left(\begin{array}{ccc} 1 & 2 & 3 \\ 6 & 9 & 12 \\ 11 & 16 & 21 \end{array}\right)Remarque : ici BA est aussi défini (taille (2,2)), mais donne un résultat de taille différente de AB (qui est (3,3)). Le produit et sa version inversée ne sont même pas comparables.
Cas particuliers utiles
Produit par la matrice identité : I_n A = AI_p = A. La matrice identité joue le rôle du « 1 » pour la multiplication.
Produit par une matrice diagonale : si D = \text{diag}(d_1, \ldots, d_p), alors AD multiplie la j-ème colonne de A par d_j, et DA multiplie la i-ème ligne de A par d_i.
Puissances de matrices : pour une matrice carrée A \in \mathcal{M}_n(\mathbb{R}), on définit A^0 = I_n, A^1 = A, A^2 = AA, et plus généralement A^k = A^{k-1} A. Si A est inversible, on note A^{-1} son inverse et A^{-k} = (A^{-1})^k.
Produit par un vecteur colonne : le produit Ax d’une matrice A \in \mathcal{M}_{n,p}(\mathbb{R}) par un vecteur x \in \mathbb{R}^p est un vecteur de \mathbb{R}^n. Ce cas est omniprésent en machine learning : chaque couche d’un réseau de neurones calcule y = Wx + b où W est la matrice des poids.
Exercices corrigés
Exercice 1
Calculer AB avec :
A = \left(\begin{array}{cc} 1 & 5 \\ 1 & 3 \end{array}\right), \quad B = \left(\begin{array}{cc} 3 & 2 \\ -2 & 3 \end{array}\right)Correction : A et B sont de taille (2,2), donc AB est de taille (2,2).
c_{11} = 1 \times 3 + 5 \times (-2) = 3 - 10 = -7.
c_{12} = 1 \times 2 + 5 \times 3 = 2 + 15 = 17.
c_{21} = 1 \times 3 + 3 \times (-2) = 3 - 6 = -3.
c_{22} = 1 \times 2 + 3 \times 3 = 2 + 9 = 11.
AB = \left(\begin{array}{cc} -7 & 17 \\ -3 & 11 \end{array}\right)Exercice 2
Soit A = \left(\begin{array}{ccc} 1 & 3 & 5 \\ 2 & 4 & 6 \end{array}\right) et B = \left(\begin{array}{cc} 1 & -1 \\ 2 & -2 \\ 3 & -3 \end{array}\right). Calculer AB et préciser si BA est défini.
Correction : A est (2,3) et B est (3,2), donc AB est défini et de taille (2,2).
c_{11} = 1 \times 1 + 3 \times 2 + 5 \times 3 = 1 + 6 + 15 = 22.
c_{12} = 1 \times (-1) + 3 \times (-2) + 5 \times (-3) = -1 - 6 - 15 = -22.
c_{21} = 2 \times 1 + 4 \times 2 + 6 \times 3 = 2 + 8 + 18 = 28.
c_{22} = 2 \times (-1) + 4 \times (-2) + 6 \times (-3) = -2 - 8 - 18 = -28.
AB = \left(\begin{array}{cc} 22 & -22 \\ 28 & -28 \end{array}\right)Oui, BA est aussi défini : B est (3,2) et A est (2,3), donc BA est de taille (3,3). Attention : AB et BA n’ont même pas la même taille, ce qui confirme que le produit matriciel ne commute pas en général.
Exercice 3
Montrer que AB = 0 n’implique pas A = 0 ou B = 0.
Correction : Il suffit de trouver un contre-exemple, prenons :
A = \left(\begin{array}{cc} 1 & 1 \\ 0 & 0 \end{array}\right), \quad B = \left(\begin{array}{cc} 1 & -1 \\ -1 & 1 \end{array}\right)Calculons AB :
c_{11} = 1 \times 1 + 1 \times (-1) = 0, c_{12} = 1 \times (-1) + 1 \times 1 = 0.
c_{21} = 0 \times 1 + 0 \times (-1) = 0, c_{22} = 0 \times (-1) + 0 \times 1 = 0.
Donc AB = 0 alors que A \neq 0 et B \neq 0. Cela vient du fait que l’image de B (l’espace engendré par ses colonnes) est incluse dans le noyau de A.
Exercice 4
Vérifier que (AB)^\top = B^\top A^\top pour :
A = \left(\begin{array}{cc} 2 & 1 \\ 0 & 3 \end{array}\right), \quad B = \left(\begin{array}{cc} 1 & 4 \\ 5 & 2 \end{array}\right)Correction : calculons d’abord AB :
AB = \left(\begin{array}{cc} 2 \times 1 + 1 \times 5 & 2 \times 4 + 1 \times 2 \\ 0 \times 1 + 3 \times 5 & 0 \times 4 + 3 \times 2 \end{array}\right) = \left(\begin{array}{cc} 7 & 10 \\ 15 & 6 \end{array}\right)
Donc (AB)^\top = \left(\begin{array}{cc} 7 & 15 \\ 10 & 6 \end{array}\right).
Calculons B^\top A^\top :
B^\top = \left(\begin{array}{cc} 1 & 5 \\ 4 & 2 \end{array}\right), A^\top = \left(\begin{array}{cc} 2 & 0 \\ 1 & 3 \end{array}\right).
B^\top A^\top = \left(\begin{array}{cc} 2 + 5 & 0 + 15 \\ 8 + 2 & 0 + 6 \end{array}\right) = \left(\begin{array}{cc} 7 & 15 \\ 10 & 6 \end{array}\right)
On retrouve bien (AB)^\top = B^\top A^\top.
Exercices d’entraînement
- Soit A = \left(\begin{array}{ccc} -3 & 5 & 7 \\ 2 & 7 & 4 \end{array}\right) et B = \left(\begin{array}{cc} 7 & -3 \\ 5 & 4 \\ -3 & -5 \\ 12 & 0 \end{array}\right). Le produit AB est-il défini ? Si non, expliquer pourquoi. Si oui, calculer AB.
- Soit M = \left(\begin{array}{cc} 1 & 1 \\ 0 & 1 \end{array}\right). Calculer M^2, M^3, puis conjecturer une formule pour M^n (pour n \in \mathbb{N}).
- Soit A = \left(\begin{array}{ccc} 1 & -1 & 2 \\ 3 & -3 & 4 \end{array}\right) et B = \left(\begin{array}{cc} 1 & 1 \\ -1 & -1 \\ 2 & 2 \end{array}\right). Calculer AB et BA. Que remarque-t-on sur les tailles ?
FAQ
Le produit de deux matrices A et B, noté AB, est une nouvelle matrice dont chaque coefficient est obtenu en faisant le produit scalaire d’une ligne de A par une colonne de B. Pour que AB soit défini, il faut que le nombre de colonnes de A soit égal au nombre de lignes de B.
Non, en général AB ≠ BA. Il peut même arriver que AB soit défini mais pas BA (si les tailles ne sont pas compatibles dans l’autre sens). Même pour deux matrices carrées de même taille, le produit n’est généralement pas commutatif.
Quand on multiplie une matrice (n, p) par une matrice (p, q), le résultat est de taille (n, q). On peut retenir que les dimensions intérieures (les deux p) doivent coïncider et disparaissent, tandis que les dimensions extérieures (n et q) donnent la taille du résultat.
Chaque couche d’un réseau de neurones effectue un produit matriciel y = Wx + b, où W est la matrice des poids et x le vecteur d’entrée. La descente de gradient utilise aussi des produits matriciels pour calculer les dérivées partielles (rétropropagation). Les opérations fondamentales du ML (régression linéaire, ACP, attention dans les transformers) reposent toutes sur le produit matriciel.








