PyTorch torch.linalg.eigh-Funktion
PyTorch torch-Referenzhandbuch
torch.linalg.eighist eine Funktion im Modul für lineare Algebra von PyTorch, die verwendet wird, um die Eigenwertzerlegung Hermitescher Matrizen (symmetrischer oder komplex konjugierter Matrizen) zu berechnen. Im Vergleich zur gewöhnlichen Eigenwertzerlegung ist sie effizienter und numerisch stabiler.
Funktionsdefinition
torch.linalg.eigh(A, UPLO='L', out=None)
Parameters:
A(Tensor): Hermitesche Eingabematrix.UPLO(str, optional): 'L' gibt untere Dreiecksmatrix an, 'U' gibt obere Dreiecksmatrix an. Standardwert ist 'L'.out(tuple, optional): Ausgabetupel.
Rückgabewert:
tuple: Gibt ein Tupel aus (Eigenwerte, Eigenvektoren) zurück.
Anwendungsbeispiel
Beispiel
import torch
# Eine symmetrische Matrix erstellen
A = torch.tensor([[2.0, 1.0],
[1.0, 2.0]])
# Hermitesche Eigenwertzerlegung
Eigenwerte, Eigenvektoren = torch.linalg.eigh(A)
print("Matrix A:")
print(A)
print("nEigenwerte:")
print(eigenvalues)
print("nEigenvektoren:")
print(eigenvectors)
# Eine symmetrische Matrix erstellen
A = torch.tensor([[2.0, 1.0],
[1.0, 2.0]])
# Hermitesche Eigenwertzerlegung
Eigenwerte, Eigenvektoren = torch.linalg.eigh(A)
print("Matrix A:")
print(A)
print("nEigenwerte:")
print(eigenvalues)
print("nEigenvektoren:")
print(eigenvectors)
Das Ausgabeergebnis ist:
矩阵 A:
tensor([[2., 1.],
[1., 2.]])
特征值:
tensor([1., 3.])
特征向量:
tensor([[-0.7071, 0.7071],
[ 0.7071, 0.7071]])
Andere Erweiterungen