Spec-Zone.ru › PyTorch 2

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) может принимать 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 (Тензор) – несколько правых частей размера (∗,m,k)(*, m, k), где ∗* означает ноль или более размерностей набора
  • A (Тензор) – входная треугольная матрица коэффициентов размера (∗,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 ((Тензор, Тензор), необязательно) – кортеж из двух тензоров для записи выходных данных. Игнорируется, если 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]]))

© 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

Spec-Zone.ru

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