Функция torch.lu в PyTorch
Справочное руководство 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 = 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)
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)
Другие расширения