Собственные векторы Python - PullRequest
7 голосов
/ 10 мая 2011
eigenvalues, eigenvectors = linalg.eig(K)

Как можно распечатать только собственные векторы len(K). Итак, если есть матрица K, 2x2, я получаю 4 собственных вектора, как я могу напечатать только 2 из них, если есть len(K)=2 ....

Большое спасибо

Ответы [ 2 ]

10 голосов
/ 10 мая 2011

Вы получаете два вектора длины два, а не четыре вектора.Например:

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].

0 голосов
/ 10 мая 2011

Из руководства:

Нормализованный собственный вектор соответствует собственному значению w[i] это столбец v[:,i].

...