Как вычислить перекрестное произведение в python


Предполагая, что у нас есть вектор A с элементами (A 1 , A 2 , A 3 ) и вектор B с элементами (B 1 , B 2 , B 3 ), мы можем вычислить векторное произведение этих двух векторов следующим образом:

Перекрестное произведение = [(A 2 *B 3 ) – (A 3 *B 2 ), (A 3 *B 1 ) – (A 1 *B 3 ), (A 1 *B 2 ) – (A 2 *B 1 )]

Например, предположим, что у нас есть следующие векторы:

  • Вектор А: (1, 2, 3)
  • Вектор Б: (4, 5, 6)

Мы могли бы вычислить векторное произведение этих векторов следующим образом:

  • Перекрестное произведение = [(A 2 *B 3 ) – (A 3 *B 2 ), (A 3 *B 1 ) – (A 1 *B 3 ), (A 1 *B 2 ) – (A 2 *B 1 )]
  • Перекрестное произведение = [(2*6) – (3*5), (3*4) – (1*6), (1*5) – (2*4)]
  • Перекрестное произведение = (-3, 6, -3)

Вы можете использовать любой из следующих двух методов для вычисления векторного произведения двух векторов в Python:

Способ 1. Используйте функцию Cross() NumPy.

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

Способ 2: Определите свою собственную функцию

 #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)

Следующие примеры показывают, как использовать каждый метод на практике.

Пример 1: использование функции NumPy cross()

Следующий код показывает, как использовать функцию NumPy cross() для вычисления векторного произведения между двумя векторами:

 import numpy as np

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

[-3, 6, -3]

Перекрестное произведение оказывается (-3, 6, -3) .

Это соответствует перекрестному продукту, который мы рассчитали вручную ранее.

Пример 2: Определите свою собственную функцию

Следующий код показывает, как определить собственную функцию для вычисления векторного произведения между двумя векторами:

 #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

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

#calculate cross product
cross_prod(A, B)

[-3, 6, -3]

Перекрестное произведение оказывается (-3, 6, -3) .

Это соответствует перекрестному продукту, который мы рассчитали в предыдущем примере.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи на Python:

Как вычислить скалярное произведение с помощью NumPy
Как нормализовать матрицу NumPy
Как добавить строку в матрицу в NumPy

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *