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{v} = \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).)
Added in version 2.2.0.
Parameters:x1, x2array_likeInput arrays, scalars not allowed.
outndarray, optionalA 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.
**kwargsFor other keyword-only arguments, see the
.
Returns:yndarrayThe matrix-vector product of the inputs.
Raises:ValueErrorIf 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.]])