r - R编程中的特征函数
问题描述
eigen()
使用 中的函数考虑 A 的平方R
。
我们知道,对于 A = V x D x V^(-1) 则 A^n = V x D^nx 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)
但我无法得到我想要的结果。
解决方案
我确实得到了这些结果匹配。也许您在某处将%*%
(矩阵乘积)与*
(元素/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
...
推荐阅读
- matlab - 当元素类似于 '(p,q)' 时查找 MATLAB 元胞数组的唯一元素
- android - 与匿名内部类相比,Kotlin lambda 的表现如何?
- java - 使用类和索引单击元素时出现问题
- javascript - 仅在选中复选框时将输入文本转换为大写
- mysql - SQL查询以透视下表中的数据
- mysql - JPA 从视图中选择
- python - 无法激活 python virtualenv 但没有出现错误
- common-lisp - 如何测试编译的函数?
- database - 在 Windows 10 上运行 Access 数据库时收到错误
- javascript - Firebase实时数据库如何添加删除数据功能