numpy.vdot#

numpy.vdot(a, b, /)#

返回两个向量的点积。

vdot 函数在处理复数时与 dot 不同:如果第一个参数是复数,则在点积计算中用其复共轭替换。 vdot 在处理多维数组时也与 dot 不同:它不执行矩阵乘法,而是在进行向量点积之前将参数展平成一维数组。

因此,当参数是相同形状的二维数组时,此函数有效地返回它们的 Frobenius 内积(也称为迹内积或矩阵向量空间上的标准内积)。

参数:
a类数组对象

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

barray_like

点积的第二个参数。

返回:
outputndarray

ab 的点积。根据 ab 的类型,可以是整数、浮点数或复数。

另请参阅

dot

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

示例

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

注意,更高维的数组会被展平!

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