Spec-Zone.ru › PyTorch 2.14

torch.triangular_solve

torch.triangular_solve(b, A, upper=True, transpose=False, unitriangular=False, *, out=None)

Решает систему уравнений с квадратной обратимой верхней или нижней треугольной матрицей AA и несколькими правыми частями bb.

В обозначениях это решение уравнения AX=bAX = b. Предполагается, что AA — квадратная верхняя треугольная матрица (или нижняя треугольная, если 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)
Параметры:
  • b (Tensor) – несколько правых частей размера (∗,m,k)(*, m, k), где ∗* — ноль или более пакетных размерностей
  • A (Tensor) – входная треугольная матрица коэффициентов размера (∗,m,m)(*, m, m), где ∗* — ноль или более пакетных размерностей
  • upper (bool, необязательный) – указывает, является ли AA верхней или нижней треугольной матрицей. Значение по умолчанию: True.
  • transpose (bool, необязательный) – решает op(A)X = b, где op(A) = A^T, если этот флаг имеет значение True, и op(A) = A, если он имеет значение False. Значение по умолчанию: False.
  • unitriangular (bool, необязательный) – указывает, является ли AA унитреугольной матрицей. Если значение True, предполагается, что диагональные элементы AA равны 1 и не считываются из AA. Значение по умолчанию: False.
Именованные аргументы:

out ((Tensor, Tensor), необязательный) – кортеж из двух тензоров, в которые записывается результат. Игнорируется, если None. Значение по умолчанию: None.

Возвращает:

Именованный кортеж (solution, cloned_coefficient), где cloned_coefficient — это копия AA, а solution — решение XX уравнения AX=bAX = b (или соответствующего варианта системы уравнений в зависимости от именованных аргументов).

Примеры:

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

© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.triangular_solve.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API