Recherche de site Web

Calculer le produit interne des vecteurs pour les tableaux D à l'aide de NumPy en Python


Le produit interne est l'une des opérations les plus importantes dans les opérations mathématiques de l'algèbre linéaire, qui prend deux vecteurs en entrée et donne la valeur scalaire en sortie. Il est également connu sous le nom de produit Dot ou produit scalaire. Le produit scalaire des deux vecteurs est donné comme suit.

a . b = ||a|| ||b|| cos(Ø)

Où,

  • ||un|| et ||b|| sont les grandeurs des vecteurs a et b respectivement

  • Ø est l'angle entre les vecteurs a et b

  • un . b est le produit scalaire de a et b

Calcul du produit intérieur

Si nous voulons calculer le produit scalaire ou le produit scalaire des tableaux, il est donné comme la somme des produits des éléments respectifs des tableaux. Prenons les deux tableaux a et b comme suit.

a = [a1, a2, a3]
b = [b1, b2, b3]

Voici l'expression mathématique des tableaux pour calculer le produit interne.

a . b = a1 * b1 + a2 * b2 + a3 * b3

Calculer le produit interne à l'aide de Numpy

Nous pouvons calculer le produit scalaire des tableaux en utilisant dot() dans la bibliothèque Numpy.

Syntaxe

Voici la syntaxe pour calculer le produit interne de deux éléments du tableau à l’aide de la fonction dot().

np.dot(arr1, arr2)

Où,

  • Numpy est le nom de la bibliothèque

  • np est le nom d'alias de la bibliothèque

  • dot est la fonction permettant de trouver le produit interne

  • arr1 et arr2 sont les tableaux d'entrée

Exemple

Dans cet exemple, lorsque nous donnons deux tableaux 1D comme arguments d'entrée à la fonction dot(), alors le produit scalaire ou le produit interne sera renvoyé en sortie.

import numpy as np
a = np.array([12,30,45])
b = np.array([23,89,50])
inner_product = np.dot(a,b)
print("The Inner product of the two 1-d arrays:", inner_product)

Sortir

The Inner product of the two 1-d arrays: 5196

Exemple

Voici un exemple d'utilisation de la fonction dot() pour calculer le produit interne des tableaux 1D.

import numpy as np
a = np.array([34,23,98,79,90,34,23,67])
b = np.array([22,1,95,14,91,5,24,12])
inner_product = np.dot(a,b)
print("The Inner product of the two 2-d arrays:",inner_product)

Sortir

The Inner product of the two 2-d arrays: 20903

Exemple

La fonction dot() n'accepte que les tableaux carrés comme arguments. Si nous essayons de transmettre des valeurs autres que des tableaux carrés, cela générera une erreur.

import numpy as np
a = np.array([[34,23,98,79],[90,34,23,67]])
b = np.array([[22,1,95,14],[91,5,24,12]])
inner_product = np.dot(a,b)
print("The Inner product of the two 2-d arrays:",inner_product)

Erreur

Traceback (most recent call last):
  File "/home/cg/root/64d07b786d983/main.py", line 4, in <module>
inner_product = np.dot(a,b)
  File "<__array_function__ internals>", line 200, in dot
ValueError: shapes (2,4) and (2,4) not aligned: 4 (dim 1) != 2 (dim 0)

Exemple

Dans l'exemple suivant, nous essayons de calculer le produit interne des tableaux 2D, à l'aide de la fonction dot().

import numpy as np
a = np.array([[34,23],[90,34]])
b = np.array([[22,1],[91,5]])
inner_product = np.dot(a,b)
print("The Inner product of the two 2-d arrays:", inner_product)

Sortir

The Inner product of the two 2-d arrays: [[2841  149][5074  260]]

Exemple

Essayons maintenant de calculer le produit interne des vecteurs en passant un tableau 3D comme arguments à la fonction dot().

import numpy as np
a = np.array([[[34,23],[90,34]],[[43,23],[10,34]]])
b = np.array([[[22,1],[91,5]],[[22,1],[91,5]]])
inner_product = np.dot(a,b)
print("The Inner product of the two 3-d arrays:", inner_product)

Sortir

The Inner product of the two 3-d arrays: [[[[2841  149]
   [2841  149]]

  [[5074  260]
   [5074  260]]]


 [[[3039  158]
   [3039  158]]

  [[3314  180]
   [3314  180]]]]

Articles connexes