torch.vdot

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

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

用符号表示,该函数计算

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

其中$\overline{x_i}$ 表示复向量的共轭,而对于实向量而言,则是恒等变换。

注意

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

参见

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

参数
  • 输入 (Tensor) – 点积的第一个张量,必须是1D的。如果是复数类型,则使用它的共轭。

  • other (Tensor) – 参与点积运算的第二个张量,必须为一维。

关键字参数:

注意

out (Tensor, 可选): 指定输出张量。

示例:

>>> 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])
本页目录