numpy.matvec — NumPy v2.3.dev0 Manual (original) (raw)
numpy.matvec(x1, x2, /, out=None, *, casting='same_kind', order='K', dtype=None, _subok=True_[, signature, axes, _axis_]) = <ufunc 'matvec'>#
Matrix-vector dot product of two arrays.
Given a matrix (or stack of matrices) \(\mathbf{A}\) in x1
and a vector (or stack of vectors) \(\mathbf{v}\) in x2
, the matrix-vector product is defined as:
\[\mathbf{A} \cdot \mathbf{b} = \sum_{j=0}^{n-1} A_{ij} v_j\]
where the sum is over the last dimensions in x1
and x2
(unless axes
is specified). (For a matrix-vector product with the vector conjugated, use np.vecmat(x2, x1.mT)
.)
New in version 2.2.0.
Parameters:
x1, x2array_like
Input arrays, scalars not allowed.
outndarray, optional
A location into which the result is stored. If provided, it must have the broadcasted shape of x1
and x2
with the summation axis removed. If not provided or None, a freshly-allocated array is used.
**kwargs
For other keyword-only arguments, see theufunc docs.
Returns:
yndarray
The matrix-vector product of the inputs.
Raises:
ValueError
If the last dimensions of x1
and x2
are not the same size.
If a scalar value is passed in.
See also
Vector-vector product.
Vector-matrix product.
Matrix-matrix product.
Einstein summation convention.
Examples
Rotate a set of vectors from Y to X along 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.]])