더북(TheBook)

파이썬에서는 NumPy 모듈의 numpy.dot()을 사용하여 벡터의 내적을 구할 수 있습니다. numpy.dot은 벡터, 행렬 또는 텐서의 곱연산을 위해 사용됩니다. aN차원 배열이고 b가 2 이상의 m차원 배열이라면, dot(a, b)는 a의 마지막 축과 b의 뒤에서 두 번째 축의 내적으로 계산합니다.

 

다음 예제로 내적의 원리를 살펴봅시다.

 

In [32]:

# NumPy 라이브러리를 호출합니다
import numpy as np

# A, B1, B2, B3, B4, B5, B6 변수에 벡터/행렬을 저장합니다
A = np.arange(1*2*3).reshape((1,2,3))
B1 = np.arange(1*2*3).reshape((1,2,3))
B2 = np.arange(1*2*3).reshape((1,3,2))
B3 = np.arange(1*2*3).reshape((2,1,3))
B4 = np.arange(1*2*3).reshape((2,3,1))
B5 = np.arange(1*2*3).reshape((3,1,2))
B6 = np.arange(1*2*3).reshape((3,2,1))

# numpy.dot()을 사용하여 벡터의 내적을 구합니다
np.dot(A, B1) # 결과는 오류가 맞습니다

ValueError: shapes (1,2,3) and (1,2,3) not aligned: 3 (dim 2) != 2 (dim 1)

 

In [33]:

np.dot(A, B2)

 

Out [33]:

array([[[[10, 13]],
        [[28, 40]]]])
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.