Python で外積を計算する方法
要素 (A 1 、 A 2 、 A 3 ) を含むベクトル A と要素 (B 1 、 B 2 、 B 3 ) を含むベクトル B があると仮定すると、これら 2 つのベクトルの外積を次のように計算できます。
外積= [(A 2 *B 3 ) – (A 3 *B 2 )、(A 3 *B 1 ) – (A 1 *B 3 )、(A 1 *B 2 ) – (A 2 *B 1 )]
たとえば、次のベクトルがあるとします。
- ベクトル A: (1, 2, 3)
- ベクトル B: (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 で 2 つのベクトルの外積を計算するには、次の 2 つの方法のいずれかを使用できます。
方法 1: NumPy のcross() 関数を使用する
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()関数を使用して 2 つのベクトル間の外積を計算する方法を示しています。
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: 独自の関数を定義する
次のコードは、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 で他の一般的なタスクを実行する方法について説明します。