torch.lu_unpack
-
torch.lu_unpack(LU_data, LU_pivots, unpack_data=True, unpack_pivots=True, *, out=None) -
Распаковывает LU-разложение, возвращённое функцией
lu_factor(), в матрицыP, L, U.См. также
lu()возвращает матрицы из LU-разложения. Формула вычисления градиента этой функции эффективнее, чем у последовательного вызоваlu_factor()иlu_unpack().- Параметры:
-
- LU_data (Tensor) – упакованные данные LU-факторизации
- LU_pivots (Tensor) – упакованные опорные элементы LU-факторизации
-
unpack_data (bool) – флаг, указывающий, следует ли распаковать данные. Если
False, возвращаемыеLиUявляются пустыми тензорами. Значение по умолчанию:True -
unpack_pivots (bool) – флаг, указывающий, следует ли распаковать опорные элементы в матрицу перестановки
P. ЕслиFalse, возвращаемыйPявляется пустым тензором. Значение по умолчанию:True
- Именованные аргументы:
-
out (tuple, необязательный) – выходной кортеж из трёх тензоров. Игнорируется, если
None. - Возвращает:
-
именованный кортеж
(P, L, U)
Примеры:
>>> 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
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.lu_unpack.html