版 :私の質問の問題は、式 8S
からたが、この式にはエラーがあることでした。
R の行列の正しい固有ベクトルを直接取得する方法は? 'eigen()' は左固有ベクトルのみを与える
本当に最後の版、私はここで大きな混乱を犯しましたが、この質問は私にとって本当に重要です:
eigen()
関数のヘルプから、固有ベクトルの行列を提供します。
" 'r <- eigen(A)' および 'V <- r$vectors; lam <- r$values' の場合、
A = V Lmbd V^(-1)
(数値ファズまで)、ここでLmbd =diag(lam)
"
つまりA V = V Lmbd
、ここで V は行列です。これを確認します。
set.seed(1)
A<-matrix(rnorm(16),4,4)
Lmbd=diag(eigen(A)$values)
V=eigen(A)$vectors
A%*%V
> A%*%V
[,1] [,2] [,3] [,4]
[1,] 0.0479968+0.5065111i 0.0479968-0.5065111i 0.2000725+0i 0.30290103+0i
[2,] -0.2150354+1.1746298i -0.2150354-1.1746298i -0.4751152+0i -0.76691563+0i
[3,] -0.2536875-0.2877404i -0.2536875+0.2877404i 1.3564475+0i 0.27756026+0i
[4,] 0.9537141-0.0371259i 0.9537141+0.0371259i 0.3245555+0i -0.03050335+0i
> V%*%Lmbd
[,1] [,2] [,3] [,4]
[1,] 0.0479968+0.5065111i 0.0479968-0.5065111i 0.2000725+0i 0.30290103+0i
[2,] -0.2150354+1.1746298i -0.2150354-1.1746298i -0.4751152+0i -0.76691563+0i
[3,] -0.2536875-0.2877404i -0.2536875+0.2877404i 1.3564475+0i 0.27756026+0i
[4,] 0.9537141-0.0371259i 0.9537141+0.0371259i 0.3245555+0i -0.03050335+0i
R
右固有ベクトルの行列を見つけたいのですが
、左固有ベクトルの行列を定義する方程式L
は次のとおりです。
L A = LambdaM L
右固有ベクトルの行列を定義する方程式R
は次のとおりです。
A R = LambdaM R
そして eigen() は matrix のみを提供しますV
:
A V = V Lmbd
R
行列を取得したいと思います。LambdaM
実際の行列A
は負定値である可能性があります。