hello i was trying the linalg.eigh() when i apply eigh() on a covariance matrix (an ndarray of shape 6x6 i get evals,evectors suppose i get it like evals= array([2.2, 5.5, 4.4, 1.7, 7.7, 6.3]) evectors=array([[3.,5. ,1. ,6. ,2. ,4. ], [2.,1.,5.,7.,5.,3.], [8.,9.,6.,5.,4.,3.], [2.,1.,3.,4.,5.,9.], [0.1,3.,2.,4.,5.,1.], [6.,5.,7.,4.,2.,8.] ]) which is the array that corresponds to eigenvalue 2.2 of evals? is it the first column of evectors? or is it the first row? if i were to sort the evectors based on the eigenvalue ,i guess the most significant eigenvector should correspond to the value of 7.7 ,then am i supposed to consider the 5th column of evectors as the most significant eigenvector? please someone help me clear this confusion thanks gordon
from numpy.eigh?: :Returns: w : 1-d double array The eigenvalues. The eigenvalues are not necessarily ordered. v : 2-d double or complex double array, depending on input array type The normalized eigenvector corresponding to the eigenvalue w[i] is the column v[:,i]. so, yes, the eigvec coresponding to the eigval w[i] is v[:,i]. L. On Mon, Mar 31, 2008 at 4:43 PM, gordon <nodrogbrown@gmail.com> wrote:
hello i was trying the linalg.eigh() when i apply eigh() on a covariance matrix (an ndarray of shape 6x6 i get evals,evectors suppose i get it like
evals= array([2.2, 5.5, 4.4, 1.7, 7.7, 6.3]) evectors=array([[3.,5. ,1. ,6. ,2. ,4. ], [2.,1.,5.,7.,5.,3.], [8.,9.,6.,5.,4.,3.], [2.,1.,3.,4.,5.,9.], [0.1,3.,2.,4.,5.,1.], [6.,5.,7.,4.,2.,8.] ]) which is the array that corresponds to eigenvalue 2.2 of evals? is it the first column of evectors? or is it the first row?
if i were to sort the evectors based on the eigenvalue ,i guess the most significant eigenvector should correspond to the value of 7.7 ,then am i supposed to consider the 5th column of evectors as the most significant eigenvector? please someone help me clear this confusion thanks gordon _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion
-- Lorenzo Bolla lbolla@gmail.com http://lorenzobolla.emurse.com/
The normalized eigenvector corresponding to the eigenvalue w[i] is the column v[:,i]. so, yes, the eigvec coresponding to the eigval w[i] is v[:,i].
Lorenzo sorry i don't understand from the above sample(unordered) if i select the the 4th eigenvalue i get 1.7 evals[3]=1.7 i believe the corresponding eigenvector should be the 4th column in evectors? [6. 7. 5. 4. 4. 4.] but the notation evectors[:3] will give me an ndarray of shape(3,6) Am i missing something here? thanks gordon
but the notation evectors[:3] will give me an ndarray of shape(3,6) Am i missing something here?
Yes : evectors[:3] selects the first three lines, evectors[:,3] selects the fourth column. Matthieu -- French PhD student Website : http://matthieu-brucher.developpez.com/ Blogs : http://matt.eifelle.com and http://blog.developpez.com/?blog=92 LinkedIn : http://www.linkedin.com/in/matthieubrucher
participants (3)
-
gordon
-
lorenzo bolla
-
Matthieu Brucher