numpy.vdot#
- numpy.vdot(a, b, /)#
返回两个向量的点积.
vdot函数处理复数的方式与dot不同:如果第一个参数是复数,则在点积计算中将其替换为其复共轭.vdot处理多维数组的方式也与dot不同:它不执行矩阵乘积,而是在进行向量点积之前将参数展平为 1-D 数组.因此,当参数是相同形状的 2-D 数组时,此函数实际上返回它们的 Frobenius inner product (也称为迹内积或矩阵向量空间上的标准内积).
- 参数:
- aarray_like
如果 a 是复数,则在计算点积之前取复共轭.
- barray_like
点积的第二个参数.
- 返回:
- outputndarray
a 和 b 的点积. 可以是 int,float 或 complex,具体取决于 a 和 b 的类型.
参见
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