快捷方式

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, 可选) – 三个张量的输出元组。如果为 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

文档

访问 PyTorch 的综合开发者文档

查看文档

教程

获取面向初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并获得您的问题解答

查看资源