numpy.matvec#

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

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

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

\[\mathbf{A} \cdot \mathbf{v} = \sum_{j=0}^{n-1} A_{ij} v_j\]

где сумма берется по последним измерениям в x1 и x2 (если только axes указан). (Для произведения матрицы на вектор с сопряженным вектором используйте np.vecmat(x2, x1.mT).)

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

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

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

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

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

**kwargs

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

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

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

Вызывает:
ValueError

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

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

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

vecdot

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

vecmat

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

matmul

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

einsum

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

Примеры

Поверните набор векторов из Y в X вдоль Z.

>>> a = np.array([[0., 1., 0.],
...               [-1., 0., 0.],
...               [0., 0., 1.]])
>>> v = np.array([[1., 0., 0.],
...               [0., 1., 0.],
...               [0., 0., 1.],
...               [0., 6., 8.]])
>>> np.matvec(a, v)
array([[ 0., -1.,  0.],
       [ 1.,  0.,  0.],
       [ 0.,  0.,  1.],
       [ 6.,  0.,  8.]])