Función PyTorch torch.linalg.eigh
Manual de referencia de Pytorch torch
torch.linalg.eighEs una función en el módulo de álgebra lineal de PyTorch para calcular la descomposición de valores propios de matrices hermitianas (matrices simétricas o conjugadas complejas). En comparación con la descomposición de valores propios ordinaria, es más eficiente y numéricamente más estable.
Definición de la función
torch.linalg.eigh(A, UPLO='L', out=None)
Parámetros:
A(Tensor): la matriz hermitiana de entrada.UPLO(str, opcional): 'L' indica triángulo inferior, 'U' indica triángulo superior. El valor predeterminado es 'L'.out(tuple, opcional): tupla de salida.
Valor de retorno:
tupleDevuelve una tupla de (valores propios, vectores propios).
Ejemplo de uso
Ejemplo
import torch
# Crear una matriz simétrica
A = torch.tensor([[2.0, 1.0],
[1.0, 2.0]])
# Descomposición de valores propios hermitiana
eigenvalues, eigenvectors = torch.linalg.eigh(A)
print("Matriz A:")
print(A)
print("nValores propios:")
print(eigenvalues)
print("nVectores propios:")
print(eigenvectors)
# Crear una matriz simétrica
A = torch.tensor([[2.0, 1.0],
[1.0, 2.0]])
# Descomposición de valores propios hermitiana
eigenvalues, eigenvectors = torch.linalg.eigh(A)
print("Matriz A:")
print(A)
print("nValores propios:")
print(eigenvalues)
print("nVectores propios:")
print(eigenvectors)
El resultado de salida es:
矩阵 A:
tensor([[2., 1.],
[1., 2.]])
特征值:
tensor([1., 3.])
特征向量:
tensor([[-0.7071, 0.7071],
[ 0.7071, 0.7071]])
Otras extensiones