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()
更有效率。- 參數
- 關鍵字參數
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