numpy.vecmat — NumPy v2.2 Manual (original) (raw)
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{b} \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)
.)
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 vector-matrix product of the inputs.
Raises:
ValueError
If the last dimensions of x1
and the one-but-last dimension ofx2
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.])