PyTorch torch.linalg.eigh Function
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)
# 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]])
Other Extensions