PyTorch torch.linalg.eigh-Funktion


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

Das Ausgabeergebnis ist:

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

Pytorch torch 参考手册PyTorch torch-Referenzhandbuch

Andere Erweiterungen