dask.array.vdot

dask.array.vdot

dask.array.vdot(a, b, /)[source]

This docstring was copied from numpy.vdot.

Some inconsistencies with the Dask version may exist.

Return the dot product of two vectors.

The vdot function handles complex numbers differently than dot: if the first argument is complex, it is replaced by its complex conjugate in the dot product calculation. vdot also handles multidimensional arrays differently than dot: 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