考虑使用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)
但我不能得到我想要的结果。
也许你混淆了%*%
(矩阵乘积)与*
(elementwise / 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
包中的%^%
(矩阵幂)运算符感兴趣...
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(21条)