Spec-Zone.ru › PyTorch 1

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

© 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

Spec-Zone.ru

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