Función PyTorch torch.linalg.eigh


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

El resultado de salida es:

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

Pytorch torch 参考手册Manual de referencia de Pytorch torch

Otras extensiones