Чтобы вычислить скалярное произведение массивов numpy nd, вы можете использовать функцию numpy.dot() в Python. Она принимает в качестве аргументов два массива numpy, вычисляет их скалярное произведение и возвращает результат.
Синтаксис
Синтаксис метода numpy.dot():
numpy.dot(a, b, out=None)
| Параметр | Описание |
|---|---|
| a | [обязательный] Первый аргумент для операции скалярного произведения. |
| b | [обязательный] Второй аргумент для операции скалярного произведения. |
| out | [необязательно] Этот аргумент используется для оценки производительности. Это должен быть C-смежный массив, а dtype должен быть тем dtype, который будет возвращен для точки (a, b). |
На основе размеров входного массива
В следующей таблице указывается тип выполняемой операции на основе размеров входных массивов: a и b.
| Размерности «a» и «b» | Выход |
|---|---|
| Нулевое измерение (скалярное) | Умножение двух скаляров a и b. |
| Одномерные массивы (вектор) | Внутреннее произведение векторов. |
| Двумерные массивы (матрица) | Умножение матриц. |
| a: N-мерный массив, b: 1-мерный массив | Суммируйте произведение по последней оси a и b. |
| a: N-мерный массив, b: M-мерный массив (M> = 2) | Суммируйте произведение по последней оси a и предпоследней оси b. |
Пример 1: произведение скаляров с несколькими точками
В этом примере мы берем два скаляра и вычисляем их скалярное произведение с помощью функции numpy.dot(). Точечное произведение с двумя скалярами в качестве аргументов возвращает умножение двух скаляров.
import numpy as np a = 3 b = 4 output = np.dot(a,b) print(output)
Вывод:
12
Объяснение:
output = a * b
= 3 * 4
= 12
Пример 2: произведение числовых точек одномерных массивов
В этом примере мы берем два numpy одномерных массива и вычисляем их скалярное произведение с помощью функции numpy.dot(). Мы уже знаем, что если входные аргументы метода dot() одномерные, то выход будет внутренним произведением этих двух векторов (поскольку это одномерные массивы).
import numpy as np #initialize arrays A = np.array([2, 1, 5, 4]) B = np.array([3, 4, 7, 8]) #dot product output = np.dot(A, B) print(output)
Вывод:
77
Скалярное произведение:
output = [2, 1, 5, 4].[3, 4, 7, 8]
= 2*3 + 1*4 + 5*7 + 4*8
= 77
Пример 3: произведение числовых точек двумерных массивов
В этом примере мы берем два двумерных массива numpy и вычисляем их скалярное произведение. Точечное произведение двух двумерных массивов возвращает матричное умножение двух входных массивов.
import numpy as np #initialize arrays A = np.array([[2, 1], [5, 4]]) B = np.array([[3, 4], [7, 8]]) #dot product output = np.dot(A, B) print(output)
Вывод:
[[13 16] [43 52]]
Скалярное произведение:
output = [[2, 1], [5, 4]].[[3, 4], [7, 8]]
= [[2*3+1*7, 2*4+1*8], [5*3+4*7, 5*4+4*8]]
= [[13, 16], [43, 52]]
В этом руководстве на примерах Python мы узнали, как вычислить скалярное произведение массивов numpy с помощью примеров программ.