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 (Tensor) – несколько правых частей размером , где — ноль или более размерностей пакета.
- A (Tensor) – входная треугольная матрица коэффициентов размером , где — ноль или более размерностей пакета.
-
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 ((Tensor, Tensor), необязательно) – кортеж из двух тензоров для записи вывода. Игнорируется, если
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/1.13/generated/torch.triangular_solve.html