logo

Python의 numpy.dot()

Python의 numpy 모듈은 두 배열의 내적을 수행하는 함수를 제공합니다.

  • 배열 'a'와 'b'가 모두 1차원 배열인 경우 dot() 함수는 (복소 켤레 없이) 벡터의 내적을 수행합니다.
  • 배열 'a'와 'b'가 모두 2차원 배열인 경우 dot() 함수는 행렬 곱셈을 수행합니다. 그러나 행렬 곱셈을 사용하려면 매트 또는 'a' @ 'b' 선호됩니다.
  • 'a' 또는 'b'가 0차원(스칼라)인 경우 dot() 함수는 곱셈을 수행합니다. 또한, numpy.multiply(a, b) 또는 a *b 방법이 바람직합니다.
  • 'a'가 N차원 배열이고 'b'가 1차원 배열인 경우 dot() 함수는 a와 b의 마지막 축에 대해 합산을 수행합니다.
  • 'a'가 M차원 배열이고 'b'가 N차원 배열(여기서 N>=2)인 경우 dot() 함수는 'a'의 마지막 축과 두 번째 축에 대해 합계 곱을 수행합니다. -'b'의 마지막 축까지:
 dot(a, b)[i,j,k,n] = sum(a[i,j,:] * b[k,:,n]) 

통사론

 numpy.dot(a, b, out=None) 

매개변수

a: array_like

이 매개변수는 첫 번째 배열을 정의합니다.

b: array_like

바이트를 문자열 파이썬으로

이 매개변수는 두 번째 배열을 정의합니다.

출력: ndarray(선택 사항)

출력 인수입니다. 사용되지 않은 경우 반환될 정확한 종류를 가지고 있어야 합니다. 특히 성능 특징을 충족해야 합니다. 즉, 올바른 유형을 포함해야 합니다. 즉, C 연속적이어야 하며 해당 dtype은 dot(a,b)에 대해 반환되는 dtype이어야 합니다. 따라서 지정된 조건을 충족하지 않으면 예외가 발생합니다.

보고

이 함수는 'a'와 'b'의 내적을 반환합니다. 이 함수는 'a'와 'b'가 모두 스칼라이거나 1차원인 경우 스칼라를 반환합니다. 그렇지 않으면 배열을 반환합니다. 'out'이 주어지면 반환됩니다.

Powershell 보다 크거나 같음

레이즈

그만큼 값오류 'a'의 마지막 차원이 'b'의 마지막에서 두 번째 차원과 크기가 같지 않을 때 발생합니다.

예시 1:

 import numpy as np a=np.dot(6,12) a 

산출:

 72 

예 2:

 import numpy as np a=np.dot([2j, 3j], [5j, 8j]) a 

산출:

 (-34+0j) 

예시 3:

 import numpy as np a = [[1, 2], [4, 1]] b = [[4, 11], [2, 3]] c=np.dot(a, b) c 

산출:

2분기
 array([[ 8, 17], [18, 47]]) 

위의 코드에서

  • 별칭 이름이 np인 numpy를 가져왔습니다.
  • 우리는 두 개의 2차원 배열 '을 만들었습니다. ' 그리고 ' '.
  • 변수 '를 선언했습니다. ' 그리고 반환된 값을 할당했습니다. np.점() 기능.
  • 마지막으로 '의 값을 인쇄해 보았습니다. '.

출력에서는 행렬 곱이 배열로 표시됩니다.

예시 4:

 import numpy as np x = np.arange(3*4*5*6).reshape((3,4,5,6)) y = np.arange(3*4*5*6)[::-1].reshape((5,4,6,3)) p=np.dot(a, b)[2,3,2,1,2,2] q=sum(a[2,3,2,:] * b[1,2,:,2]) p q 

산출:

 499128 499128 

위의 코드에서

자바 데이터베이스 jdbc
  • 별칭 이름이 np인 numpy를 가져왔습니다.
  • 우리는 두 개의 배열 '을 만들었습니다. ' 그리고 ' '를 사용하여 np.arange() reshape() 함수를 사용하여 두 배열의 모양을 변경합니다.
  • 변수 '를 선언했습니다. ' 그리고 반환된 값을 할당했습니다. np.점() 기능
  • 마지막으로 ' ' 값.

출력에서는 행렬 곱이 배열로 표시됩니다.