[ 输入参数类型不一致 ]torch.linalg.lu_solve¶
torch.linalg.lu_solve¶
torch.linalg.lu_solve(LU, pivots, B, *, left=True, adjoint=False, out=None)
paddle.linalg.lu_solve¶
paddle.linalg.lu_solve(b, lu, pivots, trans="N", name=None)
PyTorch 相比 Paddle 支持更多其他参数,具体如下:
参数映射¶
PyTorch | PaddlePaddle | 备注 |
---|---|---|
LU | lu | 表示 LU 分解结果矩阵,由 L、U 拼接组成,仅参数名不一致。 |
pivots | pivots | 表示 LU 分解结果的主元信息 Tensor 。 |
B | b | 表示欲进行线性方程组求解的右值 Tensor ,仅参数名不一致。 |
left | - | 表示系数矩阵 A 是否在左侧, Paddle 无此参数,需要转写。 |
adjoint | trans | 表示是否使用转置 LU 分解结果, PyTorch 为 bool 类型,Paddle 为 str 类型,需要转写。 |
out | - | 表示输出的 Tensor 元组 , Paddle 无此参数,需要转写。 |
转写示例¶
out:指定输出¶
# PyTorch 写法
torch.linalg.lu_solve(LU, pivots, B, out=A)
# Paddle 写法
y = paddle.linalg.lu_solve(B, LU, pivots)
paddle.assign(y, A)
left=True, adjoint=True¶
# PyTorch 写法
LU, pivots = torch.linalg.lu(A)
torch.linalg.lu_solve(LU, pivots, B, left=True, adjoint=True)
# Paddle 写法
LU, pivots = paddle.linalg.lu(A)
paddle.linalg.lu_solve(B, LU, pivots, trans="C")
left=True, adjoint=False¶
# PyTorch 写法
LU, pivots = torch.linalg.lu(A)
torch.linalg.lu_solve(LU, pivots, B, left=True, adjoint=False)
# Paddle 写法
LU, pivots = paddle.linalg.lu(A)
paddle.linalg.lu_solve(B, LU, pivots, trans="N")
left=False, adjoint=True¶
# PyTorch 写法
LU, pivots = torch.linalg.lu(A)
torch.linalg.lu_solve(LU, pivots, B, left=False, adjoint=True)
# Paddle 写法
LU, pivots = paddle.linalg.lu(A.T)
paddle.linalg.lu_solve(B.T, LU, pivots, trans="C").T
left=False, adjoint=False¶
# PyTorch 写法
LU, pivots = torch.linalg.lu(A)
torch.linalg.lu_solve(LU, pivots, B, left=False, adjoint=False)
# Paddle 写法
LU, pivots = paddle.linalg.lu(A.T)
paddle.linalg.lu_solve(B.T, LU, pivots, trans="N").T