Python Numpy에서 두 벡터의 외적(cross product)을 계산하려면 numpy.cross() 메서드를 사용합니다. 이 메서드는 벡터 외적인 c를 반환하며, 다양한 매개변수를 통해 입력 벡터와 출력 결과의 축을 유연하게 지정할 수 있습니다.
numpy.cross() 주요 매개변수
- a: 첫 번째 벡터의 성분
- b: 두 번째 벡터의 성분
- axisa: 벡터 a를 정의하는 축 (기본값: 마지막 축)
- axisb: 벡터 b를 정의하는 축 (기본값: 마지막 축)
- axisc: 외적 벡터가 저장될 c의 축. 입력 벡터의 차원이 모두 2인 경우 스칼라가 반환되므로 이 매개변수는 무시됩니다. (기본값: 마지막 축)
- axis: 정의된 경우, a, b, c 모두에 적용되는 축으로 axisa, axisb, axisc를 대체합니다.
구현 단계
1단계: 필요한 라이브러리 임포트
import numpy as np
2단계: 두 개의 벡터 생성
정수(int) 타입의 요소를 가진 두 벡터를 생성합니다.
arr1 = [13, 11, 19] arr2 = [19, 10, 8]
3단계: 벡터 출력
print("Vector 1...\n", arr1)
print("\nVector 2...\n", arr2)4단계: 외적 계산
numpy.cross() 메서드를 사용하여 두 벡터의 외적을 계산하고 결과를 출력합니다.
print("\nResult...\n", np.cross(arr1, arr2))전체 예제 코드
import numpy as np
# 두 개의 벡터 생성 (정수 타입 요소)
arr1 = [13, 11, 19]
arr2 = [19, 10, 8]
# 벡터 출력
print("Vector 1...\n", arr1)
print("\nVector 2...\n", arr2)
# numpy.cross() 메서드로 두 벡터의 외적 계산
# 메서드는 벡터 외적인 c를 반환합니다.
print("\nResult...\n", np.cross(arr1, arr2))실행 결과
Vector 1... [13, 11, 19] Vector 2... [19, 10, 8] Result... [-102 257 -79]
위 실행 결과에서 볼 수 있듯이, 두 3차원 벡터 [13, 11, 19]와 [19, 10, 8]의 외적은 [-102, 257, -79]로 계산됩니다. 외적은 원래 두 벡터에 모두 수직인 새로운 벡터를 생성하며, 물리학에서 토크나 각운동량을 계산할 때 자주 활용됩니다.