Calculer un produit de matrices ligne par colonne, vérifier qu'il est défini et connaître ses règles, en particulier que l'ordre des facteurs compte.
La leçon, diapositive par diapositive
Diapositive 1 sur 8
Objectif de la leçon
Calculer un produit ligne par colonne
Vérifier les tailles avant de calculer
Comprendre pourquoi AB ≠ BA
Utiliser @ en Python
Voix off
Le produit de matrices est l'opération centrale de l'algèbre linéaire. Il paraît étrange au premier abord, parce qu'on ne multiplie pas case par case. Mais sa définition vient d'un besoin très concret : calculer des totaux pondérés, comme un chiffre d'affaires à partir de quantités et de prix. Dans cette leçon, tu vas apprendre à le calculer ligne par colonne, à vérifier avant tout que les tailles sont compatibles, et à connaître ses règles de calcul. Tu verras surtout une différence majeure avec les nombres : l'ordre des facteurs compte.
Diapositive 2 sur 8
Ligne fois colonne
Ligne (2, 1, 3) fois colonne (4, 5, 6)
2 × 4 + 1 × 5 + 3 × 6 = 31
Terme (i, j) de AB : ligne i de A fois colonne j de B
On parcourt la ligne et la colonne ensemble
Voix off
Commence par le cas le plus simple : une ligne multipliée par une colonne de même longueur. On multiplie les termes deux à deux, le premier avec le premier, le deuxième avec le deuxième, et on additionne. Pour la ligne deux, un, trois et la colonne quatre, cinq, six, on obtient deux fois quatre plus un fois cinq plus trois fois six, soit trente et un. Le produit de deux matrices A et B se construit avec cette seule règle. Le terme placé à la ligne i et à la colonne j de A B est le produit de la ligne i de A par la colonne j de B. Il suffit de répéter ce calcul pour chaque case.
Reprends les ventes des boutiques de Cotonou et de Lomé : douze, trente, huit pour la première, vingt, quinze, dix pour la seconde. Suppose que le savon coûte cinq unités, le cahier deux et la bougie trois, en prix d'exemple. Le chiffre d'affaires de la première boutique est douze fois cinq plus trente fois deux plus huit fois trois, soit cent quarante-quatre. C'est exactement le produit de la première ligne de Q par la colonne des prix. Pour la seconde, tu obtiens cent soixante. Le produit Q p donne donc d'un coup le chiffre d'affaires de chaque boutique. Voilà pourquoi le produit se fait ligne par colonne.
Diapositive 4 sur 8
Les tailles doivent s'emboîter
(m × n) fois (n × p) donne (m × p)
Q (2 × 3) fois p (3 × 1) : résultat 2 × 1
p (3 × 1) fois Q (2 × 3) : impossible
Vérifier les tailles avant tout calcul
Voix off
Le produit A B n'existe que si A a autant de colonnes que B a de lignes : sinon, les lignes de A et les colonnes de B n'ont pas la même longueur. Pour t'en souvenir, écris les tailles côte à côte, m par n, puis n par p. Les deux nombres du milieu doivent être égaux, et le résultat a la taille des deux nombres extérieurs, m par p. Q, de taille deux par trois, fois p, de taille trois par un, donne une matrice deux par un. Dans l'autre sens, p fois Q est impossible. Prends l'habitude de vérifier les tailles avant chaque calcul : c'est la première source d'erreurs, à la main comme en Python.
Diapositive 5 sur 8
L'ordre compte
A = [1 2 ; 0 1] et B = [1 0 ; 3 1]
AB = [7 2 ; 3 1]
BA = [1 2 ; 3 7]
En général AB ≠ BA
Voix off
Avec les nombres, deux fois trois égale trois fois deux. Avec les matrices, ce n'est généralement pas vrai, même quand les deux produits existent. Prends A égale un, deux sur la première ligne et zéro, un sur la seconde, et B égale un, zéro puis trois, un. Calcule A B : tu trouves sept, deux puis trois, un. Calcule B A : tu trouves un, deux puis trois, sept. Les deux résultats sont différents. On dit que le produit n'est pas commutatif. Il faut donc toujours respecter l'ordre écrit, et ne jamais échanger deux matrices dans un calcul comme tu le ferais avec des nombres.
Diapositive 6 sur 8
Les règles qui restent vraies
Associativité : (AB)C = A(BC)
Distributivité : A(B + C) = AB + AC
Identité : AIₙ = IₙA = A
Transposée : (AB)ᵀ = BᵀAᵀ
Voix off
Heureusement, plusieurs règles familières restent vraies. Le produit est associatif : A B, fois C, égale A, fois B C. Tu peux donc enlever les parenthèses, à condition de garder l'ordre. Il est distributif sur l'addition. La matrice identité est l'élément neutre : la multiplier à gauche ou à droite ne change rien. Enfin, la transposée d'un produit est le produit des transposées dans l'ordre inverse : B transposée fois A transposée. Une autre surprise existe : un produit peut être nul sans qu'aucun facteur ne soit nul. Avec les matrices, A B égale zéro n'oblige ni A ni B à être nulle.
Diapositive 7 sur 8
En Python : @ et non *
Q @ p : produit matriciel
Q * p : produit case par case, autre chose
np.matmul(Q, p) fait la même chose que Q @ p
Tailles incompatibles : Python refuse le calcul
Voix off
En Python, le produit matriciel s'écrit avec l'arobase : Q arobase p. La documentation de NumPy le recommande pour les tableaux à deux dimensions, et la fonction np point matmul fait la même chose. L'étoile, elle, multiplie case par case, ou étire un tableau pour l'ajuster à l'autre. Avec p écrit comme un simple vecteur, p égale np point array de cinq, deux, trois, Q étoile p ne donne pas les chiffres d'affaires, mais un tableau de montants par produit. Si les tailles ne s'emboîtent pas, l'arobase déclenche une erreur. C'est plutôt une bonne nouvelle : le vrai danger, ce sont les matrices carrées mal orientées, pour lesquelles Python calcule sans rien dire.
Diapositive 8 sur 8
À retenir
Ligne de A fois colonne de B
(m × n)(n × p) = (m × p)
AB ≠ BA en général
@ pour le produit, * pour le case par case
Voix off
Retiens la règle ligne par colonne, et la vérification des tailles qui la précède. Le produit est associatif et distributif, l'identité est neutre, mais l'ordre des facteurs compte. En Python, utilise l'arobase pour le produit matriciel et garde l'étoile pour le calcul case par case. Tu te demandes peut-être pourquoi une définition aussi étrange est si utile. La réponse est géométrique : une matrice décrit une transformation, comme une rotation ou un agrandissement, et le produit de deux matrices décrit l'enchaînement des deux transformations. C'est ce que tu vas voir dans la prochaine leçon.
À retenir
Le produit AB existe si A a autant de colonnes que B a de lignes ; une matrice m × n fois une matrice n × p donne une matrice m × p.
Le terme (i, j) de AB est la somme des produits de la ligne i de A par la colonne j de B.
En général AB est différent de BA ; le produit est associatif, et AIₙ = IₙA = A.
Fais les exercices, le quiz et obtiens ton certificat dans ton espace
Avec ton compte, les deux premiers modules sont offerts : leçons, labs, simulations, quiz et tuteur. Débloque la suite du parcours pour 100 000 GNF. Le certificat vérifiable, délivré à la fin, coûte 399 000 GNF.
Indépendance. Ce parcours est indépendant : il n'est affilié ni à la Python Software Foundation, ni au projet NumPy, ni à Google, dont la méthode PageRank est présentée à titre d'exemple.