torch.triangular_solve¶
- torch.triangular_solve(b, A, upper=True, transpose=False, unitriangular=False, *, out=None)¶
求解具有方形上三角或下三角可逆矩阵 和多个右端项 的方程组。
在符号中,它解决了 并假设 是方形的上三角矩阵(或者如果
upper
= False 则是下三角矩阵)并且对角线上没有零。torch.triangular_solve(b, A) 可以接受二维输入 b, A 或批次的二维矩阵输入。如果输入是批次的,则返回批次的输出 X
如果
A
的对角线包含零或非常接近零的元素,并且unitriangular
= False(默认),或者如果输入矩阵条件较差,结果可能包含NaN。支持输入float、double、cfloat和cdouble数据类型。
警告
torch.triangular_solve()
已被弃用,取而代之的是torch.linalg.solve_triangular()
并将在未来的 PyTorch 版本中移除。torch.linalg.solve_triangular()
的参数顺序相反,并且不会返回其中一个输入的副本。X = torch.triangular_solve(B, A).solution
应替换为X = torch.linalg.solve_triangular(A, B)
- Parameters
- Keyword Arguments
- Returns
一个命名元组 (solution, cloned_coefficient),其中 cloned_coefficient 是 的克隆,而 solution 是方程组 的解 (或方程组的任何变体,取决于关键字参数。)
示例:
>>> A = torch.randn(2, 2).triu() >>> A tensor([[ 1.1527, -1.0753], [ 0.0000, 0.7986]]) >>> b = torch.randn(2, 3) >>> b tensor([[-0.0210, 2.3513, -1.5492], [ 1.5429, 0.7403, -1.0243]]) >>> torch.triangular_solve(b, A) torch.return_types.triangular_solve( solution=tensor([[ 1.7841, 2.9046, -2.5405], [ 1.9320, 0.9270, -1.2826]]), cloned_coefficient=tensor([[ 1.1527, -1.0753], [ 0.0000, 0.7986]]))