上一主题

numpy.dot

下一主题

numpy.inner

numpy.vdot

numpy.vdot(a, b)

返回两个向量的点积。

vdot(ab)处理复数与dot(ab)不同。如果第一个参数是复数,第一个参数的复共轭用于点积的计算。

请注意,vdot处理多维数组的方式与dot不同:不是执行矩阵乘积,而是先将输入参数平铺到1-D向量。因此,它应该只用于向量。

参数:

a:array_like

如果a是复数,则在计算点积之前获取复共轭。

b:array_like

点积的第二个参数。

返回:

输出:ndarray

ab的点积。根据ab的类型,可以是int,float或复杂值。

也可以看看

dot
返回点积,而不使用第一个参数的复共轭。

例子

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

请注意,高维数组是扁平的!

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