快捷鍵

torch.lu_unpack

torch.lu_unpack(LU_data, LU_pivots, unpack_data=True, unpack_pivots=True, *, out=None)

lu_factor() 傳回的 LU 分解解包成 P, L, U 矩陣。

另請參閱

lu() 傳回 LU 分解的矩陣。其梯度公式比執行 lu_factor() 後再執行 lu_unpack() 更有效率。

參數
  • LU_data (Tensor) – 打包的 LU 分解資料

  • LU_pivots (Tensor) – 打包的 LU 分解樞紐

  • unpack_data (bool) – 指示是否應解包資料的旗標。 如果 False,則傳回的 LU 是空張量。 預設值: True

  • unpack_pivots (bool) – 指示是否應將樞紐解包到置換矩陣 P 中的旗標。 如果 False,則傳回的 P 是空張量。 預設值: True

關鍵字參數

out (tuple, optional) – 三個張量的輸出元組。 如果 None,則忽略。

回傳值

一個名為 (P, L, U) 的 namedtuple

範例

>>> A = torch.randn(2, 3, 3)
>>> LU, pivots = torch.linalg.lu_factor(A)
>>> P, L, U = torch.lu_unpack(LU, pivots)
>>> # We can recover A from the factorization
>>> A_ = P @ L @ U
>>> torch.allclose(A, A_)
True

>>> # LU factorization of a rectangular matrix:
>>> A = torch.randn(2, 3, 2)
>>> LU, pivots = torch.linalg.lu_factor(A)
>>> P, L, U = torch.lu_unpack(LU, pivots)
>>> # P, L, U are the same as returned by linalg.lu
>>> P_, L_, U_ = torch.linalg.lu(A)
>>> torch.allclose(P, P_) and torch.allclose(L, L_) and torch.allclose(U, U_)
True

文件

Access comprehensive developer documentation for PyTorch

View Docs

Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources