Fonction torch.slogdet de PyTorch
Manuel de référence PyTorch torch
torch.slogdetC'est une fonction de PyTorch utilisée pour calculer le signe et le logarithme du déterminant d'une matrice. Elle est plus stable numériquement dans les cas où le déterminant est très grand ou très petit.
Définition de fonction
torch.slogdet(input, out=None)
Parameters:
input(Tensor) : Matrice carrée d'entrée.out(tuple, facultatif) : Tuple de sortie.
Valeur de retour:
tuple: Renvoie un tuple de (signe, valeur logarithmique).
Exemple d'utilisation
Exemple
import torch
# Créer une matrice carrée
A = torch.tensor([[1.0, 2.0, 3.0],
[0.0, 4.0, 5.0],
[0.0, 0.0, 6.0]])
# Calculer le signe et le logarithme du déterminant
sign, logdet = torch.slogdet(A)
print("Matrice A :")
print(A)
print("nSigne du déterminant :", sign)
print("Logarithme du déterminant :", logdet)
print("Déterminant :", sign * torch.exp(logdet))
# Créer une matrice carrée
A = torch.tensor([[1.0, 2.0, 3.0],
[0.0, 4.0, 5.0],
[0.0, 0.0, 6.0]])
# Calculer le signe et le logarithme du déterminant
sign, logdet = torch.slogdet(A)
print("Matrice A :")
print(A)
print("nSigne du déterminant :", sign)
print("Logarithme du déterminant :", logdet)
print("Déterminant :", sign * torch.exp(logdet))
La sortie est :
矩阵 A:
tensor([[1., 2., 3.],
[0., 4., 5.],
[0., 0., 6.]])
行列式符号: tensor(1.)
行列式对数: tensor(3.5835)
行列式: tensor(24.)
Autres extensions