numpy.vecmat#

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

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

Для заданного вектора (или стека векторов) \(\mathbf{v}\) в x1 и матрица (или стек матриц) \(\mathbf{A}\) в x2векторно-матричное произведение определяется как:

\[\mathbf{v} \cdot \mathbf{A} = \sum_{i=0}^{n-1} \overline{v_i}A_{ij}\]

где сумма берется по последнему измерению x1 и предпоследние размерности в x2 (если только оси указан) и где \(\overline{v_i}\) обозначает комплексное сопряжение, если \(v\) является комплексным, а в противном случае - единичной матрицей. (Для неконъюгированного векторно-матричного произведения используйте np.matvec(x2.mT, x1).)

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

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

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

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

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

**kwargs

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

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

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

Вызывает:
ValueError

Если последние размерности x1 и предпоследняя размерность x2 не имеют одинакового размера.

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

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

vecdot

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

matvec

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

matmul

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

einsum

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

Примеры

Проекция вектора вдоль X и Y.

>>> v = np.array([0., 4., 2.])
>>> a = np.array([[1., 0., 0.],
...               [0., 1., 0.],
...               [0., 0., 0.]])
>>> np.vecmat(v, a)
array([ 0.,  4., 0.])