R编程中的本征函数

问题描述 投票:0回答:1

使用eigen()中的R功能考虑A的平方。

[我们知道,对于A = V x D x V ^(-1),则A ^ n = V x D ^ nx V ^(-1),其中V的列包含A的特征向量,D是对角线特征值在对角线上的矩阵。

`                [,1] [,2] [,3] [,4]
           [1,]    1    5    9   13
           [2,]    2    6   10   14
A =        [3,]    3    7   11   15
           [4,]    4    8   12   16    `            

结果应与A * A相同

`     [,1] [,2] [,3] [,4]
 [1,]   90  202  314  426
 [2,]  100  228  356  484
 [3,]  110  254  398  542
 [4,]  120  280  440  600    `      

我尝试过

V <- eigen(A)$vectors
square_dia <- diag(eigen(A)$values,4,4)
D <- diag(A)*diag(A)

但是我无法获得想要的结果。

r matrix eigenvalue eigenvector
1个回答
1
投票

我的确匹配了这些结果。也许您将%*%(矩阵乘积)与*(元素/ Hadamard乘积)混淆了?

V <- eigen(A)$vectors
D <- diag(eigen(A)$values)
M1 <- V %*% D^2 %*% solve(V)
M2 <- A %*% A
all.equal(M1, M2) ## TRUE

您可能对%^%软件包中的expm(矩阵幂)运算符感兴趣...

© www.soinside.com 2019 - 2024. All rights reserved.