Comment calculer un produit croisé en Python



En supposant que nous ayons le vecteur A avec des éléments (A 1 , A 2 , A 3 ) et un vecteur B avec des éléments (B 1 , B 2 , B 3 ), nous pouvons calculer le produit vectoriel de ces deux vecteurs comme suit :

Produit croisé = [(A 2 *B 3 ) – (A 3 *B 2 ), (A 3 *B 1 ) – (A 1 *B 3 ), (A 1 *B 2 ) – (A 2 *B 1 )]

Par exemple, supposons que nous ayons les vecteurs suivants :

  • Vecteur A : (1, 2, 3)
  • Vecteur B : (4, 5, 6)

Nous pourrions calculer le produit vectoriel de ces vecteurs comme suit :

  • Produit croisé = [(A 2 *B 3 ) – (A 3 *B 2 ), (A 3 *B 1 ) – (A 1 *B 3 ), (A 1 *B 2 ) – (A 2 *B 1 )]
  • Produit croisé = [(2*6) – (3*5), (3*4) – (1*6), (1*5) – (2*4)]
  • Produit croisé = (-3, 6, -3)

Vous pouvez utiliser l’une des deux méthodes suivantes pour calculer le produit vectoriel de deux vecteurs en Python :

Méthode 1 : utiliser la fonction cross() de NumPy

import numpy as np
  
#calculate cross product of vectors A and B
np.cross(A, B)

Méthode 2 : définissez votre propre fonction

#define function to calculate cross product 
def cross_prod(a, b):
    result = [a[1]*b[2] - a[2]*b[1],
            a[2]*b[0] - a[0]*b[2],
            a[0]*b[1] - a[1]*b[0]]

    return result

#calculate cross product
cross_prod(A, B)

Les exemples suivants montrent comment utiliser chaque méthode dans la pratique.

Exemple 1 : utiliser la fonction cross() de NumPy

Le code suivant montre comment utiliser la fonction cross() de NumPy pour calculer le produit vectoriel entre deux vecteurs :

import numpy as np

#define vectors
A = np.array([1, 2, 3])
B = np.array([4, 5, 6])
  
#calculate cross product of vectors A and B
np.cross(A, B)

[-3, 6, -3]

Le produit vectoriel s’avère être (-3, 6, -3) .

Cela correspond au produit croisé que nous avons calculé manuellement plus tôt.

Exemple 2 : définissez votre propre fonction

Le code suivant montre comment définir votre propre fonction pour calculer le produit vectoriel entre deux vecteurs :

#define function to calculate cross product 
def cross_prod(a, b):
    result = [a[1]*b[2] - a[2]*b[1],
            a[2]*b[0] - a[0]*b[2],
            a[0]*b[1] - a[1]*b[0]]

    return result

#define vectors
A = np.array([1, 2, 3])
B = np.array([4, 5, 6])

#calculate cross product
cross_prod(A, B)

[-3, 6, -3]

Le produit vectoriel s’avère être (-3, 6, -3) .

Cela correspond au produit vectoriel que nous avons calculé dans l’exemple précédent.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes en Python :

Comment calculer le produit scalaire à l’aide de NumPy
Comment normaliser une matrice NumPy
Comment ajouter une ligne à la matrice dans NumPy

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *