파이썬에서는 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]]]])
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.