评价此页

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` 故意只支持计算具有相同元素数量的两个一维张量的点积。

另请参阅

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

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

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

Keyword args

注意

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