maxframe.tensor.vdot#
- maxframe.tensor.vdot(a, b)[源代码]#
返回两个向量的点积。
vdot(a, b) 函数对复数的处理方式与 dot(a, b) 不同。如果第一个参数是复数,则在计算点积时使用第一个参数的复共轭。
注意,vdot 对多维张量的处理方式与 dot 不同:它*不*执行矩阵乘法,而是先将输入参数展平为一维向量。因此,它只能用于向量。
- 参数:
a (array_like) -- 如果 a 是复数,则在计算点积前取其复共轭。
b (array_like) -- 点积的第二个参数。
- 返回:
output -- a 和 b 的点积。根据 a 和 b 的类型,可以是 int、float 或 complex。
- 返回类型:
Tensor
参见
dot返回点积,但不使用第一个参数的复共轭。
示例
>>> import maxframe.tensor as mt
>>> a = mt.array([1+2j,3+4j]) >>> b = mt.array([5+6j,7+8j]) >>> mt.vdot(a, b).execute() (70-8j) >>> mt.vdot(b, a).execute() (70+8j)
注意,高维数组会被展平!
>>> a = mt.array([[1, 4], [5, 6]]) >>> b = mt.array([[4, 1], [2, 2]]) >>> mt.vdot(a, b).execute() 30 >>> mt.vdot(b, a).execute() 30 >>> 1*4 + 4*1 + 5*2 + 6*2 30