Shortcuts

torch.lu_solve

torch.lu_solve(b, LU_data, LU_pivots, *, out=None) 张量

返回线性系统 Ax=bAx = b 的部分旋转LU分解求解,使用来自 lu_factor() 的A的LU分解。

此函数支持 floatdoublecfloatcdouble 数据类型用于 input

警告

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)
Parameters
  • b (Tensor) – 大小为 (,m,k)(*, m, k), 其中 * 表示零个或多个批次维度。

  • LU_data (张量) – 从 lu_factor() 得到的 A 的旋转 LU 分解,大小为 (,m,m)(*, m, m), 其中 * 是零个或多个批次维度。

  • LU_pivots (IntTensor) – 从 lu_factor() 得到的 LU 分解的枢轴,大小为 (,m)(*, m), 其中 * 是零个或多个批次维度。 LU_pivots 的批次维度必须等于 LU_data 的批次维度。

Keyword Arguments

输出 (张量, 可选) – 输出张量。

示例:

>>> 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)