# numpy.vdot

numpy.vdot(a, b, /)

  Return the dot product of two vectors.

  The vdot(a, b) function handles complex numbers differently than dot(a, b). If the first argument is complex the complex conjugate of the first argument is used for the calculation of the dot product.

  Note that `vdot` handles multidimensional arrays differently than `dot`: it does not perform a matrix product, but flattens input arguments to 1-D vectors first. Consequently, it should only be used for vectors.

  Parameters:
    a array_like

      If a is complex the complex conjugate is taken before calculation of the dot product.

    b array_like

      Second argument to the dot product.

  Returns:
    output ndarray

      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

      >>> 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