使用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)
但是我无法获得想要的结果。
我的确匹配了这些结果。也许您将%*%
(矩阵乘积)与*
(元素/ 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
(矩阵幂)运算符感兴趣...