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)
その他の拡張