Функция PyTorch torch.linalg.cholesky


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

torch.linalg.choleskyЭто функция в модуле линейной алгебры PyTorch (linalg), используемая для вычисления разложения Холецкого симметричной положительно определённой матрицы. Этоtorch.choleskyрекомендуемая функция замены.

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

torch.linalg.cholesky(A, upper=False, out=None)

Parameters:

  • A(Tensor): Входная симметричная положительно определённая матрица.
  • upper(bool, optional): Если True, возвращает верхнюю треугольную матрицу; в противном случае возвращает нижнюю треугольную матрицу. Значение по умолчанию — False.
  • out(Tensor, необязательный): Выходной тензор.

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

  • torch.Tensor: Возвращает треугольную матрицу разложения Холецкого.

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

Пример

import torch

# Создать симметричную положительно определённую матрицу
A = torch.tensor([[4.0, 2.0, 2.0],
                  [2.0, 5.0, 3.0],
                  [2.0, 3.0, 6.0]], dtype=torch.float64)

# Разложение Холецкого
L = torch.linalg.cholesky(A)

print("Исходная матрица A:")
print(A)
print("nРазложение Холецкого (нижняя треугольная матрица L):")
print(L)
print("nПроверка: L @ L.T = ")
print(L @ L.T)

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

原矩阵 A:
tensor([[4., 2., 2.],
        [2., 5., 3.],
        [2., 3., 6.]], dtype=torch.float64)
Cholesky 分解 (下三角矩阵 L):
tensor([[2.0000, 0.0000, 0.0000],
        [1.0000, 2.0000, 0.0000],
        [1.0000, 1.0000, 2.0000]], dtype=torch.float64)
验证: L @ L.T =
tensor([[4., 2., 2.],
        [2., 5., 3.],
        [2., 3., 6.]], dtype=torch.float64)

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

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