评价此页

torch.vdot#

torch.vdot(input, other, *, out=None) Tensor#

计算两个一维向量在某个维度上的点积。

用符号表示,此函数计算

i=1nxiyi.\sum_{i=1}^n \overline{x_i}y_i.

其中 xi\overline{x_i} 表示复向量的共轭,对于实向量则表示其本身。

注意

与 NumPy 的 vdot 不同,torch.vdot 明确规定只支持计算两个元素数量相同的 1D 张量的点积。

另请参阅

torch.linalg.vecdot() 计算两个向量批次在某个维度上的点积。

参数
  • input (Tensor) – 点积的第一个张量,必须是一维的。如果它是复数,则使用它的共轭。

  • other (Tensor) – 点积的第二个张量,必须是一维的。

关键字参数

注意

out (Tensor, optional): 输出张量。

示例

>>> torch.vdot(torch.tensor([2, 3]), torch.tensor([2, 1]))
tensor(7)
>>> a = torch.tensor((1 +2j, 3 - 1j))
>>> b = torch.tensor((2 +1j, 4 - 0j))
>>> torch.vdot(a, b)
tensor([16.+1.j])
>>> torch.vdot(b, a)
tensor([16.-1.j])