numpy.vecdot#

numpy.vecdot(x1, x2, /, out=None, *, casting='same_kind', order='K', dtype=None, subok=True[, сигнатура, оси, ось]) = 'vecdot'>#

Векторное скалярное произведение двух массивов.

Пусть \(\mathbf{a}\) быть вектором в x1 и \(\mathbf{b}\) соответствующий вектор в x2. Скалярное произведение определяется как:

\[\mathbf{a} \cdot \mathbf{b} = \sum_{i=0}^{n-1} \overline{a_i}b_i\]

где сумма берется по последнему измерению (если ось указан) и где \(\overline{a_i}\) обозначает комплексное сопряжение, если \(a_i\) является комплексным, иначе — единичной матрицей.

Новое в версии 2.0.0.

Параметры:
x1, x2array_like

Входные массивы, скаляры не допускаются.

выходndarray, необязательно

Место, в которое сохраняется результат. Если предоставлено, оно должно иметь транслируемую форму x1 и x2 с удаленной последней осью. Если не указано или None, используется вновь выделенный массив.

**kwargs

Для других аргументов, доступных только по ключевым словам, смотрите документация ufunc.

Возвращает:
yndarray

Векторное скалярное произведение входных данных. Это скаляр только тогда, когда оба x1, x2 являются 1-мерными векторами.

Вызывает:
ValueError

Если последнее измерение x1 не того же размера, что и последнее измерение x2.

Если передано скалярное значение.

Смотрите также

vdot

то же самое, но сначала сглаживает аргументы

matmul

Произведение матриц.

vecmat

Векторно-матричное произведение.

matvec

Матрично-векторное произведение.

einsum

Соглашение суммирования Эйнштейна.

Примеры

>>> import numpy as np

Получить проекционный размер вдоль заданной нормали для массива векторов.

>>> v = np.array([[0., 5., 0.], [0., 0., 10.], [0., 6., 8.]])
>>> n = np.array([0., 0.6, 0.8])
>>> np.vecdot(v, n)
array([ 3.,  8., 10.])