PyTorch torch.slogdet Funktion
PyTorch torch-Referenzhandbuch
torch.slogdetEs ist eine Funktion in PyTorch, die verwendet wird, um das Vorzeichen und den Logarithmus der Determinante einer Matrix zu berechnen. Sie ist numerisch stabiler für Fälle, in denen die Determinante sehr groß oder sehr klein ist.
Funktionsdefinition
torch.slogdet(input, out=None)
Parameters:
input(Tensor): Quadratische Eingabematrix.out(tuple, optional): Ausgabetupel.
Rückgabewert:
tuple: Gibt ein Tupel aus (Vorzeichen, Logarithmuswert) zurück.
Anwendungsbeispiel
Beispiel
import torch
# Quadratische Matrix erstellen
A = torch.tensor([[1.0, 2.0, 3.0],
[0.0, 4.0, 5.0],
[0.0, 0.0, 6.0]])
# Berechne das Vorzeichen und den Logarithmus der Determinante
sign, logdet = torch.slogdet(A)
print("Matrix A:")
print(A)
print("nVorzeichen der Determinante:", sign)
print("Logarithmus der Determinante:", logdet)
print("Determinante:", sign * torch.exp(logdet))
# Quadratische Matrix erstellen
A = torch.tensor([[1.0, 2.0, 3.0],
[0.0, 4.0, 5.0],
[0.0, 0.0, 6.0]])
# Berechne das Vorzeichen und den Logarithmus der Determinante
sign, logdet = torch.slogdet(A)
print("Matrix A:")
print(A)
print("nVorzeichen der Determinante:", sign)
print("Logarithmus der Determinante:", logdet)
print("Determinante:", sign * torch.exp(logdet))
Die Ausgabe ist:
矩阵 A:
tensor([[1., 2., 3.],
[0., 4., 5.],
[0., 0., 6.]])
行列式符号: tensor(1.)
行列式对数: tensor(3.5835)
行列式: tensor(24.)
Andere Erweiterungen