PyTorch torch.linalg.eig 函数
torch.linalg.eig 是 PyTorch 线性代数模块中用于计算方阵特征值分解的函数。它返回矩阵的所有特征值和右特征向量。
函数定义
torch.linalg.eig(A, out=None)
参数:
A(Tensor): 输入方阵。out(tuple, 可选): 输出元组。
返回值:
tuple: 返回 (特征值, 特征向量) 的元组。
使用示例
实例
import torch
# 创建方阵
A = torch.tensor([[1.0, 2.0], [3.0, 4.0]], dtype=torch.complex128)
# 特征值分解
eigenvalues, eigenvectors = torch.linalg.eig(A)
print("矩阵 A:")
print(A)
print("n特征值:")
print(eigenvalues)
print("n特征向量:")
print(eigenvectors)
# 创建方阵
A = torch.tensor([[1.0, 2.0], [3.0, 4.0]], dtype=torch.complex128)
# 特征值分解
eigenvalues, eigenvectors = torch.linalg.eig(A)
print("矩阵 A:")
print(A)
print("n特征值:")
print(eigenvalues)
print("n特征向量:")
print(eigenvectors)
输出结果为:
矩阵 A:
tensor([[1., 2.],
[3., 4.]], dtype=torch.complex128)
特征值:
tensor([-0.3723+0.j, 5.3723+0.j], dtype=torch.complex128)
特征向量:
tensor([[-0.8246+0.j, -0.4159+0.j],
[ 0.5658+0.j, -0.9094+0.j]], dtype=torch.complex128)

Pytorch torch 参考手册