評價此頁

torch.ormqr#

torch.ormqr(input, tau, other, left=True, transpose=False, *, out=None) Tensor#

計算 Householder 矩陣乘積與通用矩陣的矩陣乘積。

將一個 m×nm \times n 矩陣 C(由 other 提供)與一個矩陣 Q 相乘,其中 Q 使用 Householder 反射 (input, tau) 表示。有關更多詳細資訊,請參見 正交或酉矩陣的表示

如果 leftTrue,則計算 op(Q) 乘以 C,否則結果為 C 乘以 op(Q)。當 leftTrue 時,隱式矩陣 Q 的大小為 m×mm \times m。否則,大小為 n×nn \times n。如果 transposeTrue,則 op 為共軛轉置操作,否則為無操作。

支援 float、double、cfloat 和 cdouble 資料型別的輸入。也支援批處理輸入,如果輸入是批處理的,則輸出是具有相同維度的批處理。

另請參閱

可以使用 torch.geqrf() 從 QR 分解中形成矩陣 Q 的 Householder 表示 (input, tau)

注意

此函式支援反向傳播,但僅當 (input, tau) 不需要梯度以及/或 tau.size(-1) 非常小時才快速。``

引數
  • input (Tensor) – 形狀為 (*, mn, k) 的張量,其中 * 是零個或多個批處理維度,mn 等於 mn,具體取決於 left

  • tau (Tensor) – 形狀為 (*, min(mn, k)) 的張量,其中 * 是零個或多個批處理維度。

  • other (Tensor) – 形狀為 (*, m, n) 的張量,其中 * 是零個或多個批處理維度。

  • left (bool) – 控制乘法順序。

  • transpose (bool) – 控制是否對矩陣 Q 進行共軛轉置。

關鍵字引數

out (Tensor, optional) – 輸出張量。如果為 None 則忽略。預設為 None