Функция torch.lu_solve в PyTorch


Pytorch torch 参考手册Справочное руководство PyTorch torch

torch.lu_solveЭта функция использует LU-разложение в PyTorch для решения линейных уравнений. Она эффективно решает AX = B, используя уже вычисленное LU-разложение.

Определение функции

torch.lu_solve(B, LU, pivots, out=None)

Parameters:

  • B(Tensor): матрица или вектор правой части.
  • LU(Tensor): Матрица, полученная из LU-разложения.
  • pivots(Tensor): Индексы ведущих элементов LU-разложения.
  • out(Tensor, необязательный): Выходной тензор.

Возвращаемое значение:

  • torch.Tensor: Возвращает решение системы линейных уравнений.

Пример использования

Пример

import torch

# Создать матрицу и вектор правой части
A = torch.tensor([[1.0, 2.0, 3.0],
                  [4.0, 5.0, 6.0],
                  [7.0, 8.0, 9.0]], dtype=torch.float64)
B = torch.tensor([14.0, 32.0, 50.0], dtype=torch.float64)

# LU-разложение
LU, pivots = torch.lu(A)

# Решить с помощью LU-разложения
X = torch.lu_solve(B, LU, pivots)

print("Матрица A:")
print(A)
print("\nВектор правой части B:")
print(B)
print("\nРешение X:")
print(X)
print("\nПроверка: A @ X =")
print(A @ X)

Результат вывода:

矩阵 A:
tensor([[1., 2., 3.],
        [4., 5., 6.],
        [7., 8., 9.]], dtype=torch.float64)
右侧向量 B:
tensor([14., 32., 50.], dtype=torch.float64)
解 X:
tensor([1., 2., 3.], dtype=torch.float64)
验证: A @ X =
tensor([14., 32., 50.], dtype=torch.float64)

Pytorch torch 参考手册Справочное руководство PyTorch torch

Другие расширения