나는 100x100의 행렬을 가지고 있으며 가장 큰 고유치라는 것을 알았습니다. 이제이 고유치에 해당하는 고유 벡터를 찾아야합니다. 어떻게해야합니까?주어진 고유치에 대한 고유 벡터 찾기 R
6
A
답변
9
eigen
기능은 당신이 원하는 것을 제공하지 않습니까? $vectors
가 있다는 고유 함수 상태의 실제 독서 도움
> 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
3
". 열 x의 고유 벡터들을 포함 P * P의 매트릭스"를 가장 큰 고유 값에 해당하는 실제 벡터는 첫 번째 열 $vectors
입니다. @ user2080209의 대답은 작동하지 않습니다
> 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
참고 : 이 직접 얻으려면 그것은 첫 번째 행을 반환합니다.
아니요, 그렇다고 생각하지 않습니다. 예를 들어, 행렬에 대해 고유 벡터 1.611684e + 01을 알고이 고유 값에 대한 고유 벡터를 찾을 수 있습니까? – user2080209
@ user2080209 : 왜 고유 벡터가 고유 값과 동일한 순서로 있지 않다고 생각합니까? –
@ user2080209,'eig <- eigen (B); eig $ vectors [eig $ values == 1.611684e + 01]'적절한 고유 벡터를 선택할 것입니다 – huon