Función torch.cholesky de PyTorch


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

torch.choleskyEs una función de PyTorch utilizada para calcular la descomposición de Cholesky de una matriz simétrica definida positiva. La descomposición de Cholesky descompone una matriz definida positiva A en A = L * L^T, donde L es una matriz triangular inferior.

Definición de la función

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

Parámetros:

  • A(Tensor): La matriz simétrica definida positiva de entrada.
  • upper(bool, opcional): Si es True, devuelve la matriz triangular superior; de lo contrario, devuelve la matriz triangular inferior. El valor predeterminado es False.
  • out(Tensor, opcional): El tensor de salida.

Valor de retorno:

  • torch.Tensor: Devuelve la matriz triangular inferior (o superior) de la descomposición de Cholesky.

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]])

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

print("Matriz original A:")
print(A)
print("nDescomposición de Cholesky (matriz triangular inferior L):")
print(L)
print("nVerificación: L @ L.T = ")
print(L @ L.T)

El resultado de salida es:

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

Cholesky 分解 (下三角矩阵 L):
tensor([[2.0000, 0.0000, 0.0000],
        [1.0000, 2.0000, 0.0000],
        [1.0000, 1.0000, 2.0000]])

验证: L @ L.T =
tensor([[4., 2., 2.],
        [2., 5., 3.],
        [2., 3., 6.]])

Ejemplo - Devolver la matriz triangular superior

import torch

A = torch.tensor([[4.0, 2.0, 2.0],
                  [2.0, 5.0, 3.0],
                  [2.0, 3.0, 6.0]])

# Devolver la matriz triangular superior
U = torch.cholesky(A, upper=True)
print("Matriz triangular superior U:")
print(U)

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

Otras extensiones