評價此頁

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