Python 特征向量

8 投票
2 回答
22771 浏览
提问于 2025-04-16 17:22
eigenvalues, eigenvectors = linalg.eig(K)

我怎么才能只打印出len(K)的特征向量?比如说,如果有一个K,是一个2x2的矩阵,我会得到4个特征向量,那我怎么才能只打印出其中的2个特征向量呢,如果len(K)=2的话……

非常感谢

2 个回答

0

来自手册的说明:

与特征值 w[i] 对应的标准化特征向量就是列 v[:,i]

12

你得到的是两个长度为二的向量,而不是四个向量。举个例子:

In [1]: import numpy as np

In [2]: K=np.random.normal(size=(2,2))

In [3]: eigenvalues, eigenvectors = np.linalg.eig(K)

In [4]: eigenvectors
Out[4]: 
array([[ 0.83022467+0.j        ,  0.83022467+0.j        ],
       [ 0.09133956+0.54989461j,  0.09133956-0.54989461j]])

In [5]: eigenvectors.shape
Out[5]: (2, 2)

第一个向量是 eigenvectors[:,0],第二个向量是 eigenvectors[:,1]

撰写回答