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.
Если передано скалярное значение.
Смотрите также
Примеры
>>> 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.])