例如,对于 R 中的两个 3D 数组,
N <- 1000
x <- rnorm(N*3*3); dim(x) <- c(N,3,3)
y <- rnorm(N*3*3); dim(y) <- c(N,3,3)
我可以循环执行以下叉积:
gg <- 0
for (n in 1:dim(x)[1]){
gg <- gg + t(x[n,,]) %*% y[n,,]
}
我的问题是我们能否更有效地(例如,通过矢量化或rcpp
)N
而不是使用循环来做非常大的事情?