Multiplication par élément dans NumPy
-
Multiplication élémentaire des matrices en Python en utilisant la méthode
np.multiply()
-
Multiplication élémentaire des matrices en Python à l’aide de l’opérateur
*
Ce didacticiel expliquera diverses méthodes pour effectuer une multiplication de matrice élément par élément en Python. Dans la multiplication de matrice élément par élément (également connue sous le nom de produit Hadamard), chaque élément de la première matrice est multiplié par l’élément correspondant de la deuxième matrice.
Lors de l’exécution de la multiplication de matrice élément par élément, les deux matrices doivent avoir les mêmes dimensions. La matrice résultante c
de la multiplication matricielle élément par élément a*b = c
a toujours la même dimension que celle de a
et b
.
Nous pouvons effectuer la multiplication élément par élément en Python en utilisant les méthodes suivantes:
Multiplication élémentaire des matrices en Python en utilisant la méthode np.multiply()
La méthode np.multiply(x1, x2)
de la bibliothèque NumPy
de Python prend deux matrices x1
et x2
en entrée, effectue une multiplication élément par élément en entrée, et renvoie la matrice résultante en entrée.
Par conséquent, nous devons passer les deux matrices en entrée à la méthode np.multiply()
pour effectuer une entrée élément par élément. L’exemple de code ci-dessous montre comment utiliser np.multiply()
pour effectuer une multiplication élément par élément de deux matrices en Python.
import numpy as np
a1 = np.array([[12, 46, 23, 7, 2], [3, 5, 8, 3, 6]])
a2 = np.array([[15, 26, 2, 17, 22], [13, 8, 9, 3, 4]])
print(np.multiply(a1, a2))
Production:
[[ 180 1196 46 119 44]
[ 39 40 72 9 24]]
Nous pouvons également effectuer la multiplication élément par élément de lignes, colonnes ou sous-matrices spécifiques des matrices en utilisant la méthode np.multiply()
. Nous devons passer les lignes, colonnes ou sous-matrices spécifiques des matrices à la méthode np.multiply()
. Comme dans la multiplication matricielle élément par élément, la taille des lignes, des colonnes ou des sous-matrices passées comme premier et deuxième opérande pour la multiplication doit également être la même.
L’exemple de code ci-dessous montre comment implémenter la multiplication élément par élément des lignes, des colonnes ou des sous-matrices de deux matrices en Python.
import numpy as np
a1 = np.array([[12, 46, 23, 7, 2], [3, 5, 8, 3, 6]])
a2 = np.array([[15, 26, 2, 17, 22], [13, 8, 9, 3, 4]])
print(np.multiply(a1[0, :], a2[1, :]))
print(np.multiply(a1[1, :], a2[0, :]))
print(np.multiply(a1[:, 3], a2[:, 1]))
Production:
[156 368 207 21 8]
[ 45 130 16 51 132]
[182 24]
Multiplication élémentaire des matrices en Python à l’aide de l’opérateur *
Nous pouvons également utiliser l’opérateur *
avec les matrices pour effectuer une multiplication de matrice élément par élément. L’opérateur *
, lorsqu’il est utilisé avec les matrices en Python, retourne une matrice résultante de la multiplication de matrice élément par élément.
L’exemple de code ci-dessous montre comment utiliser l’opérateur *
pour effectuer la multiplication matricielle élément par élément en Python:
a1 = np.array([[12, 46, 23, 7, 2], [3, 5, 8, 3, 6]])
a2 = np.array([[15, 26, 2, 17, 22], [13, 8, 9, 3, 4]])
print(a1 * a2)
Production:
[[ 180 1196 46 119 44]
[ 39 40 72 9 24]]
Nous pouvons également utiliser l’opérateur *
pour effectuer la multiplication élément par élément des lignes, colonnes et sous-matrices des matrices de la manière suivante en Python.
import numpy as np
a1 = np.array([[12, 46, 23, 7, 2], [3, 5, 8, 3, 6]])
a2 = np.array([[15, 26, 2, 17, 22], [13, 8, 9, 3, 4]])
print(a1[0, :] * a2[1, :])
print(a1[1, :] * a2[0, :])
print(a1[:, 3] * a2[:, 1])
Production:
[156 368 207 21 8]
[ 45 130 16 51 132]
[182 24]