Fonction torch.linalg.eigh de PyTorch


Pytorch torch 参考手册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)

Le résultat de sortie est:

矩阵 A:
tensor([[2., 1.],
        [1., 2.]])
特征值:
tensor([1., 3.])
特征向量:
tensor([[-0.7071,  0.7071],
        [ 0.7071,  0.7071]])

Pytorch torch 参考手册Manuel de référence PyTorch torch

Autres extensions