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


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

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

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

torch.cholesky_inverse(L, upper=False, out=None)

Parameters:

  • L(Tensor): Верхняя или нижняя треугольная матрица, полученная в результате разложения Холецкого.
  • upper(bool, необязательный): Если True, L — верхняя треугольная матрица; в противном случае — нижняя треугольная матрица. По умолчанию 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.cholesky(A)

# Вычислить обратную матрицу с помощью разложения Холецкого
A_inv = torch.cholesky_inverse(L)

print("Исходная матрица A:")
print(A)
print("\nОбратная матрица A^-1:")
print(A_inv)
print("\nПроверка: A @ A^-1 =")
print(A @ A_inv)

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

原矩阵 A:
tensor([[4., 2., 2.],
        [2., 5., 3.],
        [2., 3., 6.]], dtype=torch.float64)

逆矩阵 A^-1:
tensor([[ 0.7500, -0.5000, -0.2500],
        [-0.5000,  1.0000, -0.0000],
        [-0.2500, -0.0000,  0.2500]], dtype=torch.float64)

验证: A @ A^-1 =
tensor([[ 1.0000e+00, -1.4901e-08,  0.0000e+00],
        [-7.4506e-09,  1.0000e+00,  1.4901e-08],
        [ 0.0000e+00,  7.4506e-09,  1.0000e+00]], dtype=torch.float64)

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

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