numpy.vdot#
- numpy.vdot(a, b, /)#
Return the dot product of two vectors.
The
vdot
function handles complex numbers differently thandot
: if the first argument is complex, it is replaced by its complex conjugate in the dot product calculation.vdot
also handles multidimensional arrays differently thandot
: it does not perform a matrix product, but flattens the arguments to 1-D arrays before taking a vector dot product.Consequently, when the arguments are 2-D arrays of the same shape, this function effectively returns their Frobenius inner product (also known as the trace inner product or the standard inner product on a vector space of matrices).
- Parameters:
- aarray_like
If a is complex the complex conjugate is taken before calculation of the dot product.
- barray_like
Second argument to the dot product.
- Returns:
- outputndarray
Dot product of a and b. Can be an int, float, or complex depending on the types of a and b.
See also
dot
Return the dot product without using the complex conjugate of the first argument.
Examples
>>> import numpy as np >>> a = np.array([1+2j,3+4j]) >>> b = np.array([5+6j,7+8j]) >>> np.vdot(a, b) (70-8j) >>> np.vdot(b, a) (70+8j)
Note that higher-dimensional arrays are flattened!
>>> a = np.array([[1, 4], [5, 6]]) >>> b = np.array([[4, 1], [2, 2]]) >>> np.vdot(a, b) 30 >>> np.vdot(b, a) 30 >>> 1*4 + 4*1 + 5*2 + 6*2 30