Función torch.cholesky_inverse de PyTorch


Pytorch torch 参考手册Manual de referencia de PyTorch torch

torch.cholesky_inverseEs una función de PyTorch que se utiliza para calcular la matriz inversa mediante la descomposición de Cholesky. Utiliza el resultado de la descomposición de Cholesky para calcular la inversa de la matriz de manera eficiente.

Definición de la función

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

Parámetros:

  • L(Tensor): Matriz triangular superior o inferior obtenida de la descomposición de Cholesky.
  • upper(bool, opcional): Si es True, L es una matriz triangular superior; de lo contrario, es una matriz triangular inferior. El valor predeterminado es False.
  • out(Tensor, opcional): Tensor de salida.

Valor de retorno:

  • torch.Tensor: Devuelve la matriz inversa de la matriz original.

Ejemplo de uso

Ejemplo

import torch

# Crear una matriz simétrica definida positiva
A = torch.tensor([[4.0, 2.0, 2.0],
                  [2.0, 5.0, 3.0],
                  [2.0, 3.0, 6.0]], dtype=torch.float64)

# Descomposición de Cholesky
L = torch.cholesky(A)

# Calcular la matriz inversa usando la descomposición de Cholesky
A_inv = torch.cholesky_inverse(L)

print("Matriz original A:")
print(A)
print("\nMatriz inversa A^-1:")
print(A_inv)
print("\nVerificación: A @ A^-1 =")
print(A @ A_inv)

El resultado de salida es:

原矩阵 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 参考手册Manual de referencia de PyTorch torch

Otras extensiones