np.linalg.multi_dot 对于 R
np.linalg.multi_dot for R
我正在尝试做一个嵌套点
M <- matrix(1:9,ncol=3)
x <- c(1,2,3)
m <- M
for (op in 1:1){
m <- m %*% M
}
z = x %*% m
结果实际上是 x.dot(M.dot(M)):
228, 516, 804
在 python 中,这个循环可以减少:
x.dot(np.linalg.multi_dot([M]*2))
R 有类似的东西吗?
library(expm)
x %*% (M %^% 2)
[,1] [,2] [,3]
[1,] 228 516 804
正如@akrun 评论的那样,您还可以使用 Reduce
:
Reduce('%*%', rep(list(M), 2), init = x)
[,1] [,2] [,3]
[1,] 228 516 804
我正在尝试做一个嵌套点
M <- matrix(1:9,ncol=3)
x <- c(1,2,3)
m <- M
for (op in 1:1){
m <- m %*% M
}
z = x %*% m
结果实际上是 x.dot(M.dot(M)):
228, 516, 804
在 python 中,这个循环可以减少:
x.dot(np.linalg.multi_dot([M]*2))
R 有类似的东西吗?
library(expm)
x %*% (M %^% 2)
[,1] [,2] [,3]
[1,] 228 516 804
正如@akrun 评论的那样,您还可以使用 Reduce
:
Reduce('%*%', rep(list(M), 2), init = x)
[,1] [,2] [,3]
[1,] 228 516 804