torch.linalg.vecdot

torch.linalg.vecdot(x, y, *, dim=-1, out=None) Tensor

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

用符号表示,该函数计算

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

在维度 dim 上,$\overline{x_i}$ 表示复向量的共轭,而对于实向量则是恒等变换。

支持半精度、bfloat16、浮点数、双精度、复数浮点和整数等数据类型的输入。它还支持广播操作。

参数
  • x (Tensor) – 形状为(*, n)的第一批向量。

  • y (Tensor) – 形状为 (*, n) 的第二批向量。

关键字参数
  • dim (int) – 指定计算点积的维度。默认值为-1

  • out (Tensor, optional) – 输出张量。默认为None,若未指定则忽略。

示例:

>>> v1 = torch.randn(3, 2)
>>> v2 = torch.randn(3, 2)
>>> linalg.vecdot(v1, v2)
tensor([ 0.3223,  0.2815, -0.1944])
>>> torch.vdot(v1[0], v2[0])
tensor(0.3223)
本页目录