Fonction torch.linalg.eigh de PyTorch
Manuel de référence PyTorch torch
torch.linalg.eighest une fonction du module d'algèbre linéaire de PyTorch utilisée pour calculer la décomposition en valeurs propres de matrices hermitiennes (matrices symétriques ou conjuguées complexes). Comparée à la décomposition en valeurs propres ordinaire, elle est plus efficace et numériquement stable.
Définition de fonction
torch.linalg.eigh(A, UPLO='L', out=None)
Parameters:
A(Tensor): Matrice hermitienne d'entrée.UPLO(str, optionnel) : 'L' indique la partie triangulaire inférieure, 'U' indique la partie triangulaire supérieure. La valeur par défaut est 'L'.out(tuple, facultatif) : Tuple de sortie.
Valeur de retour:
tuple: Renvoie un tuple (valeurs propres, vecteurs propres).
Exemple d'utilisation
Exemple
import torch
# Créer une matrice symétrique
A = torch.tensor([[2.0, 1.0],
[1.0, 2.0]])
# Décomposition en valeurs propres d'une matrice hermitienne
eigenvalues, eigenvectors = torch.linalg.eigh(A)
print("Matrice A :")
print(A)
print("nValeurs propres :")
print(eigenvalues)
print("nVecteurs propres :")
print(eigenvectors)
# Créer une matrice symétrique
A = torch.tensor([[2.0, 1.0],
[1.0, 2.0]])
# Décomposition en valeurs propres d'une matrice hermitienne
eigenvalues, eigenvectors = torch.linalg.eigh(A)
print("Matrice A :")
print(A)
print("nValeurs propres :")
print(eigenvalues)
print("nVecteurs propres :")
print(eigenvectors)
Le résultat de sortie est:
矩阵 A:
tensor([[2., 1.],
[1., 2.]])
特征值:
tensor([1., 3.])
特征向量:
tensor([[-0.7071, 0.7071],
[ 0.7071, 0.7071]])
Autres extensions