numpy.vecdot — NumPy v2.2 Manual (original) (raw)
numpy.vecdot(x1, x2, /, out=None, *, casting='same_kind', order='K', dtype=None, _subok=True_[, signature, axes, _axis_]) = <ufunc 'vecdot'>#
Vector dot product of two arrays.
Let \(\mathbf{a}\) be a vector in x1 and \(\mathbf{b}\) be a corresponding vector in x2. The dot product is defined as:
\[\mathbf{a} \cdot \mathbf{b} = \sum_{i=0}^{n-1} \overline{a_i}b_i\]
where the sum is over the last dimension (unless axis is specified) and where \(\overline{a_i}\) denotes the complex conjugate if \(a_i\)is complex and the identity otherwise.
New in version 2.0.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 last 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 dot product of the inputs. This is a scalar only when both x1, x2 are 1-d vectors.
Raises:
ValueError
If the last dimension of x1 is not the same size as the last dimension of x2.
If a scalar value is passed in.
See also
same but flattens arguments first
Matrix-matrix product.
Vector-matrix product.
Matrix-vector product.
Einstein summation convention.
Examples
Get the projected size along a given normal for an array of vectors.
v = np.array([[0., 5., 0.], [0., 0., 10.], [0., 6., 8.]]) n = np.array([0., 0.6, 0.8]) np.vecdot(v, n) array([ 3., 8., 10.])