【问题标题】:Eigen function in R programmingR编程中的特征函数
【发布时间】:2020-03-11 03:34:37
【问题描述】:

使用R 中的eigen() 函数考虑A 的平方。

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

`                [,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】:

    我确实得到了这些匹配的结果。也许您在某处将%*%(矩阵乘积)与*(元素/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 包中的%^%(矩阵幂)运算符感兴趣...

    【讨论】:

    • 如果这解决了您的问题,我们鼓励您单击复选标记以接受答案...
    猜你喜欢
    • 1970-01-01
    • 2017-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多