評價此頁

torch.lu_solve#

torch.lu_solve(b, LU_data, LU_pivots, *, out=None) Tensor#

返回線性系統 Ax=bAx = b 的 LU 求解,其中 A 是從 lu_factor() 中獲得的,經過部分主元 LU 分解。

此函式支援 inputfloatdoublecfloatcdouble 資料型別。

警告

torch.lu_solve() 已棄用,推薦使用 torch.linalg.lu_solve()torch.lu_solve() 將在未來的 PyTorch 版本中移除。 X = torch.lu_solve(B, LU, pivots) 應替換為

X = linalg.lu_solve(LU, pivots, B)
引數
  • b (Tensor) – 右側張量,大小為 (,m,k)(*, m, k),其中 * 是零個或多個批次維度。

  • LU_data (Tensor) – A 的主元 LU 分解,來自 lu_factor(),大小為 (,m,m)(*, m, m),其中 * 是零個或多個批次維度。

  • LU_pivots (IntTensor) – LU 分解的主元,來自 lu_factor(),大小為 (,m)(*, m),其中 * 是零個或多個批次維度。 LU_pivots 的批次維度必須與 LU_data 的批次維度相等。

關鍵字引數

out (Tensor, optional) – 輸出張量。

示例

>>> A = torch.randn(2, 3, 3)
>>> b = torch.randn(2, 3, 1)
>>> LU, pivots = torch.linalg.lu_factor(A)
>>> x = torch.lu_solve(b, LU, pivots)
>>> torch.dist(A @ x, b)
tensor(1.00000e-07 *
       2.8312)