PyTorch torch.linalg.eigh Function


Pytorch torch 参考手册PyTorch torch Reference Manual

torch.linalg.eighis a function in PyTorch's linear algebra module used to compute the eigenvalue decomposition of Hermitian matrices (symmetric or complex conjugate matrices). Compared to ordinary eigenvalue decomposition, it is more efficient and numerically stable.

Function Definition

torch.linalg.eigh(A, UPLO='L', out=None)

Parameters:

  • A(Tensor): Input Hermitian matrix.
  • UPLO(str, optional): 'L' indicates lower triangular, 'U' indicates upper triangular. Default is 'L'.
  • out(tuple, optional): Output tuple.

Return Value:

  • tuple: Returns a tuple of (eigenvalues, eigenvectors).

Usage Example

Example

import torch

# Create a symmetric matrix
A = torch.tensor([[2.0, 1.0],
                  [1.0, 2.0]])

# Hermitian eigenvalue decomposition
eigenvalues, eigenvectors = torch.linalg.eigh(A)

print("Matrix A:")
print(A)
print("nEigenvalues:")
print(eigenvalues)
print("nEigenvectors:")
print(eigenvectors)

The output result is:

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

Pytorch torch 参考手册PyTorch torch Reference Manual

Other Extensions