Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python eigenvectors

eigenvalues, eigenvectors = linalg.eig(K)

How can I print just eigenvectors of len(K). So if there is K, 2x2 matrix, I get 4 eigenvectors, how can I print just 2 of them if there is len(K)=2....

Many thanks

like image 638
thaking Avatar asked May 10 '11 16:05

thaking


1 Answers

You are getting two vectors of length two, not four vectors. For example:

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)

The first vector is eigenvectors[:,0], the second is eigenvectors[:,1].

like image 108
NPE Avatar answered Oct 07 '22 23:10

NPE