torch.triangular_solve
-
torch.triangular_solve(b, A, upper=True, transpose=False, unitriangular=False, *, out=None) -
Решает систему уравнений с квадратной верхней или нижней треугольной обратимой матрицей и несколькими правыми частями .
Символически, она решает и предполагает, что является квадратной верхней треугольной (или нижней треугольной, если
upper= False) и не имеет нулей на диагонали.torch.triangular_solve(b, A)может принимать 2D входыb, Aили входы, которые являются наборами 2D матриц. Если входы являются наборами, то возвращает наборы выходных данных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)
- Параметры
-
- b (Тензор) – несколько правых частей размера , где означает ноль или более размерностей набора
- A (Тензор) – входная треугольная матрица коэффициентов размера , где означает ноль или более размерностей набора
-
upper (bool, необязательно) – является ли верхней или нижней треугольной. По умолчанию:
True. -
transpose (bool, необязательно) – решает
op(A)X = bгдеop(A) = A^Tесли этот флагTrue, иop(A) = Aесли онFalse. По умолчанию:False. -
unitriangular (bool, необязательно) – является ли единичной треугольной. Если True, элементы диагонали предполагаются равными 1 и не ссылаются из . По умолчанию:
False.
- Ключевые аргументы
-
out ((Тензор, Тензор), необязательно) – кортеж из двух тензоров для записи выходных данных. Игнорируется, если
None. По умолчанию:None. - Возвращает
-
Именованный кортеж
(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]]))
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.triangular_solve.html