Question

I have a matrix 100x100 and I found it's biggest eigenvalue. Now I need to find eigenvector corresponding to this eigenvalue. How can I do this?

Was it helpful?

Solution

eigen function doesn't give you what you are looking for?

> 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

OTHER TIPS

Reading the actual help of the eigen function state that the $vectors is a : "a p*p matrix whose columns contain the eigenvectors of x." The actual vector corresponding to the biggest eigen value is the 1st column of $vectors. To directly get it:

> 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

Note that the answer of @user2080209 does not work: it would return the first row.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top