logo

Multiplication matricielle NumPy en Python

La multiplication de matrice est une opération qui produit une seule matrice en prenant deux matrices comme entrée et en multipliant les lignes de la première matrice par la colonne de la deuxième matrice. Notez que nous devons nous assurer que le nombre de lignes de la première matrice est égal au nombre de colonnes de la deuxième matrice.

Multiplication matricielle NumPy en Python

En Python, le processus de multiplication matricielle utilisant NumPy est connu sous le nom de vectorisation . L'objectif principal de la vectorisation est de supprimer ou de réduire pour les boucles que nous utilisions explicitement. En réduisant les boucles « for » des programmes, le calcul est plus rapide. Le package intégré NumPy est utilisé pour la manipulation et le traitement des tableaux.

Ce sont trois méthodes grâce auxquelles nous pouvons effectuer une multiplication matricielle numpy.

  1. La première consiste à utiliser la fonction multiplier(), qui effectue une multiplication élément par élément de la matrice.
  2. La deuxième est l’utilisation de la fonction matmul(), qui effectue le produit matriciel de deux tableaux.
  3. Enfin, l'utilisation de la fonction dot(), qui effectue le produit scalaire de deux tableaux.

Exemple 1 : multiplication matricielle par éléments

 import numpy as np array1=np.array([[1,2,3],[4,5,6],[7,8,9]],ndmin=3) array2=np.array([[9,8,7],[6,5,4],[3,2,1]],ndmin=3) result=np.multiply(array1,array2) result 

Dans le code ci-dessus

lois d'équivalence
  • Nous avons importé numpy avec le nom d'alias np.
  • Nous avons créé un tableau1 et un tableau2 en utilisant la fonction numpy.array() de dimension 3.
  • Nous avons créé un résultat variable et attribué la valeur renvoyée par la fonction np.multiply().
  • Nous avons passé les tableaux array1 et array2 dans np.multiply().
  • Enfin, nous avons essayé d'imprimer la valeur du résultat.

Dans le résultat, une matrice tridimensionnelle a été affichée dont les éléments sont le résultat de la multiplication élément par élément des éléments array1 et array2.

Sortir:

 array([[[ 9, 16, 21], [24, 25, 24], [21, 16, 9]]]) 

Exemple 2 : Produit matriciel

 import numpy as np array1=np.array([[1,2,3],[4,5,6],[7,8,9]],ndmin=3) array2=np.array([[9,8,7],[6,5,4],[3,2,1]],ndmin=3) result=np.matmul(array1,array2) result 

Sortir:

Java lit le fichier ligne par ligne
 array([[[ 30, 24, 18], [ 84, 69, 54], [138, 114, 90]]]) 

Dans le code ci-dessus

  • Nous avons importé numpy avec le nom d'alias np.
  • Nous avons créé array1 et array2 en utilisant la fonction numpy.array() de dimension 3.
  • Nous avons créé un résultat variable et attribué la valeur renvoyée par la fonction np.matmul().
  • Nous avons passé les tableaux array1 et array2 dans np.matmul().
  • Enfin, nous avons essayé d'imprimer la valeur du résultat.

Dans le résultat, une matrice tridimensionnelle a été affichée dont les éléments sont le produit des éléments array1 et array2.

Exemple 3 : produit scalaire

Voici les spécifications suivantes pour numpy.dot :

  • Lorsque a et b sont tous deux des tableaux 1D (unidimensionnels) -> Produit scalaire de deux vecteurs (sans conjugaison complexe)
  • Lorsque a et b sont des tableaux 2D (bidimensionnels) -> Multiplication matricielle
  • Lorsque a ou b est 0-D (également appelé scalaire) -> Multipliez en utilisant numpy.multiply(a, b) ou a * b.
  • Lorsque a est un tableau N-D et b est un tableau 1-D -> Somme du produit sur le dernier axe de a et b.
  • Lorsque a est un tableau N-D et b est un tableau M-D à condition que M>=2 -> Somme du produit sur le dernier axe de a et l'avant-dernier axe de b :
    De plus, point(a, b)[i,j,k,m] = sum(a[i,j,:] * b[k,:,m])
 import numpy as np array1=np.array([[1,2,3],[4,5,6],[7,8,9]],ndmin=3) array2=np.array([[9,8,7],[6,5,4],[3,2,1]],ndmin=3) result=np.dot(array1,array2) result 

Dans le code ci-dessus

  • Nous avons importé numpy avec le nom d'alias np.
  • Nous avons créé array1 et array2 en utilisant la fonction numpy.array() de dimension 3.
  • Nous avons créé un résultat variable et attribué la valeur renvoyée par la fonction np.dot().
  • Nous avons passé les tableaux array1 et array2 dans np.dot().
  • Enfin, nous avons essayé d'imprimer la valeur du résultat.

Dans le résultat, une matrice tridimensionnelle a été affichée dont les éléments sont le produit scalaire des éléments array1 et array2.

questions d'entretien Java

Sortir:

 array([[[[ 30, 24, 18]], [[ 84, 69, 54]], [[138, 114, 90]]]])