NumPy Matrixmultiplikation
Die Matrixmultiplikation mit NumPy kann mit den folgenden drei Methoden durchgeführt werden.
- multiply(): elementweise Matrixmultiplikation.
- matmul(): Matrixprodukt zweier Arrays.
- dot(): Skalarprodukt zweier Arrays.
1. NumPy Matrixmultiplikation elementweise
Wenn Sie eine elementweise Matrixmultiplikation durchführen möchten, können Sie die Funktion multiply() verwenden.
import numpy as np
arr1 = np.array([[1, 2],
[3, 4]])
arr2 = np.array([[5, 6],
[7, 8]])
arr_result = np.multiply(arr1, arr2)
print(arr_result)
Output
[[ 5 12]
[21 32]]
2. Matrixprodukt zweier NumPy Arrays
Wenn Sie das Matrixprodukt zweier Arrays erzielen möchten, verwenden Sie die Funktion matmul().
import numpy as np
arr1 = np.array([[1, 2],
[3, 4]])
arr2 = np.array([[5, 6],
[7, 8]])
arr_result = np.matmul(arr1, arr2)
print(f'Matrix Product of arr1 and arr2 is:\n{arr_result}')
arr_result = np.matmul(arr2, arr1)
print(f'Matrix Product of arr2 and arr1 is:\n{arr_result}')
Output
Matrix Product of arr1 and arr2 is:
[[19 22]
[43 50]]
Matrix Product of arr2 and arr1 is:
[[23 34]
[31 46]]
3. Skalarprodukt zweier NumPy Arrays
Die Funktion numpy dot() gibt das Skalarprodukt zweier Arrays zurück. Das Ergebnis ist dasselbe wie bei der Funktion matmul() für ein- und zweidimensionale Arrays.
import numpy as np
arr1 = np.array([[1, 2],
[3, 4]])
arr2 = np.array([[5, 6],
[7, 8]])
arr_result = np.dot(arr1, arr2)
print(f'Dot Product of arr1 and arr2 is:\n{arr_result}')
arr_result = np.dot(arr2, arr1)
print(f'Dot Product of arr2 and arr1 is:\n{arr_result}')
arr_result = np.dot([1, 2], [5, 6])
print(f'Dot Product of two 1-D arrays is:\n{arr_result}')
Output
Dot Product of arr1 and arr2 is:
[[19 22]
[43 50]]
Dot Product of arr2 and arr1 is:
[[23 34]
[31 46]]
Dot Product of two 1-D arrays is:
17