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


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

torch.luЭто функция в PyTorch, используемая для вычисления LU-разложения матрицы. LU-разложение разлагает матрицу A в произведение A = P * L * U, где L — нижняя треугольная матрица, U — верхняя треугольная матрица, а P — матрица перестановки.

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

torch.lu(A, pivot=True, get_infos=False, out=None)

Parameters:

  • A(Tensor): Входная матрица.
  • pivot(bool, необязательный): Выполнять ли LU-разложение с выбором ведущего элемента по столбцу. По умолчанию True.
  • get_infos(bool, необязательный): Если True, возвращать информацию. По умолчанию False.
  • out(tuple, optional): Выходной кортеж.

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

  • tuple: Возвращает кортеж (pivot, L, U).

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

Пример

import torch

# Создать матрицу
A = torch.tensor([[1.0, 2.0, 3.0],
                  [4.0, 5.0, 6.0],
                  [7.0, 8.0, 9.0]])

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

print("Матрица A:")
print(A)
print("\nLU-матрица:")
print(LU)
print("\nИндексы ведущих элементов:")
print(pivots)

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

矩阵 A:
tensor([[1., 2., 3.],
        [4., 5., 6.],
        [7., 8., 9.]])
LU 矩阵:
tensor([[7., 8., 9.],
        [0.2, 0.4, 0.6],
        [0.6, 0.8, 0.0]])
主元索引:
tensor([3, 3, 3], dtype=torch.int32)

Пример - Использование get_infos

import torch

A = torch.tensor([[1.0, 2.0, 3.0],
                  [4.0, 5.0, 6.0],
                  [7.0, 8.0, 9.0]])

# LU-разложение, включая информацию
LU, pivots, info = torch.lu(A, pivot=True, get_infos=True)

print("Информация:", info)

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

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