2022年 11月 3日

Python 计算特征值特征向量

  1. import numpy as np
  2. import torch as torch
  3. # 0 1 0 1 1
  4. # 1 0 1 0 0
  5. # 0 1 0 0 1
  6. # 1 0 0 0 1
  7. # 1 0 1 1 0
  8. x=np.array([[0 ,1 ,0 ,1, 1],
  9. [1 ,0, 1, 0, 0],[0, 1, 0, 0, 1],[1, 0, 0, 0, 1],[1, 0, 1, 1, 0]])
  10. # a = torch.tensor([[1,2,3],[4,5,6]])
  11. a,b = np.linalg.eig(x)
  12. for i in range (len(a)):
  13. print('特征值,',a[i],'对应的特征向量',b[:,i])

 特征值, 2.4811943040920177 对应的特征向量 [-0.5298991  -0.35775124 -0.35775124 -0.42713229 -0.5298991 ]
特征值, -2.0000000000000018 对应的特征向量 [-5.00000000e-01  5.00000000e-01 -5.00000000e-01  1.62803112e-16
  5.00000000e-01]
特征值, -1.170086486626034 对应的特征向量 [-0.43248663  0.19929465  0.19929465  0.73923874 -0.43248663]
特征值, 1.5260202360125897e-17 对应的特征向量 [ 5.00000000e-01  5.00000000e-01 -5.00000000e-01  2.79154475e-16
 -5.00000000e-01]
特征值, 0.6888921825340182 对应的特征向量 [ 0.1793384  -0.57645095 -0.57645095  0.52065737  0.1793384 ]