numpy.vecmat(x1, x2, /, out=None, *, casting='same_kind', order='K', dtype=None, subok=True[, signature, axes, axis])=<ufunc'vecmat'>
Vector-matrix dot product of two arrays.
Given a vector (or stack of vector) \(\mathbf{v}\) in x1 and a matrix (or stack of matrices) \(\mathbf{A}\) in x2, the vector-matrix product is defined as:
\[\mathbf{v} \cdot \mathbf{A} = \sum_{i=0}^{n-1} \overline{v_i}A_{ij}\]
where the sum is over the last dimension of x1 and the one-but-last dimensions in x2 (unless axes is specified) and where \(\overline{v_i}\) denotes the complex conjugate if \(v\) is complex and the identity otherwise. (For a non-conjugated vector-matrix product, use np.matvec(x2.mT,x1).)
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 vector-matrix product of the inputs.
Raises:ValueErrorIf the last dimensions of x1 and the one-but-last dimension of x2 are not the same size.
If a scalar value is passed in.
See also
Vector-vector product.
Matrix-vector product.
Matrix-matrix product.
Einstein summation convention.
Examples
Project a vector along X and 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.])