Función PyTorch torch.slogdet
Manual de referencia de Pytorch torch
torch.slogdetEs una función de PyTorch utilizada para calcular el signo y el logaritmo del determinante de una matriz. Es más numéricamente estable para casos donde el determinante es muy grande o muy pequeño.
Definición de la función
torch.slogdet(input, out=None)
Parámetros:
input(Tensor): matriz cuadrada de entrada.out(tuple, opcional): tupla de salida.
Valor de retorno:
tuple: Devuelve una tupla (signo, valor logarítmico).
Ejemplo de uso
Ejemplo
import torch
# Crear una matriz cuadrada
A = torch.tensor([[1.0, 2.0, 3.0],
[0.0, 4.0, 5.0],
[0.0, 0.0, 6.0]])
# Calcular el signo y el logaritmo del determinante
sign, logdet = torch.slogdet(A)
print("Matriz A:")
print(A)
print("nSigno del determinante:", sign)
print("Logaritmo del determinante:", logdet)
print("Determinante:", sign * torch.exp(logdet))
# Crear una matriz cuadrada
A = torch.tensor([[1.0, 2.0, 3.0],
[0.0, 4.0, 5.0],
[0.0, 0.0, 6.0]])
# Calcular el signo y el logaritmo del determinante
sign, logdet = torch.slogdet(A)
print("Matriz A:")
print(A)
print("nSigno del determinante:", sign)
print("Logaritmo del determinante:", logdet)
print("Determinante:", sign * torch.exp(logdet))
El resultado de salida es:
矩阵 A:
tensor([[1., 2., 3.],
[0., 4., 5.],
[0., 0., 6.]])
行列式符号: tensor(1.)
行列式对数: tensor(3.5835)
行列式: tensor(24.)
Otras extensiones