Функция dot
Функция dot вычисляет скалярное произведение
двух массивов. Поведение функции зависит от размерности
входных массивов: для одномерных массивов возвращается
скалярное произведение (сумма произведений элементов),
для двумерных - матричное произведение. Для массивов
большей размерности вычисляется сумма произведений
по последней оси первого массива и предпоследней оси
второго.
Синтаксис
np.dot(a, b, out=None)
Параметры функции:
-
a- первый массив или скаляр; -
b- второй массив или скаляр; -
out- необязательный параметр, массив для сохранения результата.
Пример
Вычислим скалярное произведение двух одномерных массивов:
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
res = np.dot(arr1, arr2)
print(res)
Результат выполнения кода:
32
Пример
Выполним матричное умножение двумерных массивов:
import numpy as np
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])
res = np.dot(arr1, arr2)
print(res)
Результат выполнения кода:
[[19 22]
[43 50]]
Пример
Умножим двумерный массив на одномерный (вектор-столбец):
import numpy as np
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([5, 6])
res = np.dot(arr1, arr2)
print(res)
Результат выполнения кода:
[17 39]
Пример
Умножим массив на скаляр:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
res = np.dot(arr, 3)
print(res)
Результат выполнения кода:
[ 3 6 9 12 15]
Пример
Используем параметр out для сохранения результата в заранее созданный массив:
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
out_arr = np.array([0])
res = np.dot(arr1, arr2, out=out_arr)
print(out_arr)
Результат выполнения кода:
[32]
Смотрите также
-
функцию
matmul,
которая выполняет матричное умножение с более строгой проверкой размерностей -
функцию
vdot,
которая вычисляет скалярное произведение с комплексным сопряжением -
функцию
inner,
которая вычисляет обычное скалярное произведение массивов -
функцию
outer,
которая вычисляет внешнее произведение двух векторов