8
eigenvalues, eigenvectors = linalg.eig(K)

の固有ベクトルだけを出力するにはどうすればよいですかlen(K)。したがってK、2x2の行列がある場合、4つの固有ベクトルを取得します。ある場合、そのうちの2つだけを出力するにはどうすればよいですかlen(K)=2...。

どうもありがとう

4

2 に答える 2

12

4つのベクトルではなく、長さ2の2つのベクトルを取得しています。例えば:

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]2番目はeigenvectors[:,1]です。

于 2011-05-10T16:42:28.153 に答える
0

マニュアルから:

固有値に対応する正規化された固有ベクトルw[i] は列v[:,i]です。

于 2011-05-10T16:49:31.760 に答える