Función PyTorch torch.linalg.cholesky
Manual de referencia de Pytorch torch
torch.linalg.choleskyEs una función del módulo de álgebra lineal (linalg) de PyTorch que se utiliza para calcular la descomposición de Cholesky de una matriz simétrica definida positiva. Estorch.choleskyla función de reemplazo recomendada de.
Definición de la función
torch.linalg.cholesky(A, upper=False, out=None)
Parámetros:
A(Tensor): 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): Tensor de salida.
Valor de retorno:
torch.Tensor: Devuelve la matriz triangular 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]], dtype=torch.float64)
# Descomposición de Cholesky
L = torch.linalg.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)
# 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.linalg.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.]], 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)
Otras extensiones