2013-05-20 6 views
6

के लिए eigenvector खोजें मेरे पास एक मैट्रिक्स 100x100 है और मुझे यह सबसे बड़ा eigenvalue मिला है। अब मुझे इस eigenvalue के अनुरूप eigenvector खोजने की जरूरत है। मैं यह कैसे कर सकता हूँ?किसी दिए गए eigenvalue R

उत्तर

9

eigen फ़ंक्शन आपको वह नहीं देता है जो आप ढूंढ रहे हैं?

> B <- matrix(1:9, 3) 
> eigen(B) 
$values 
[1] 1.611684e+01 -1.116844e+00 -4.054214e-16 

$vectors 
      [,1]  [,2]  [,3] 
[1,] -0.4645473 -0.8829060 0.4082483 
[2,] -0.5707955 -0.2395204 -0.8164966 
[3,] -0.6770438 0.4038651 0.4082483 
+0

नहीं, मुझे नहीं लगता। उदाहरण के लिए, आपके मैट्रिक्स के लिए, मुझे eigenvalue 1.611684e + 01 पता है और मैं इस eigenvalue के लिए eigenvector क्या खोजना है, सभी तीन – user2080209

+2

@ user2080209 नहीं: आपको क्या लगता है कि eigenvectors eigenvalues ​​के समान क्रम में नहीं हैं? –

+0

@ user2080209, 'eig <- eigen (बी); eig $ vectors [eig $ values ​​== 1.611684e + 01] 'उपयुक्त eigenvector – huon

3

eigen समारोह राज्य की वास्तविक मदद कि $vectors एक है पढ़ना: "। एक पी * p मैट्रिक्स जिसका कॉलम एक्स के eigenvectors में" सबसे बड़ा ईजिन मूल्य से संबंधित वास्तविक वेक्टर $vectors का पहला स्तंभ है। सीधे इसे पाने के लिए:

> B <- matrix(1:9, 3) 
> eig <- eigen(B) 
> eig$vectors[,which.max(eig$values)] 
[1] -0.4645473 -0.5707955 -0.6770438 
# equivalent to: 
> eig$vectors[,1] 
[1] -0.4645473 -0.5707955 -0.6770438 

ध्यान दें कि @ user2080209 का जवाब काम नहीं करता है: यह पहली पंक्ति लौट आते हैं।

संबंधित मुद्दे