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