在R
中,我想对一个巨大的正定协方差/相关矩阵进行Cholesky分解。以下是我构建模拟正定矩阵的例子
N <- 3000
amat <- matrix(rnorm(N*N), N, N)
A <- amat %*% t(amat) # A is PD
system.time(chol(A))
user system elapsed
4.390 0.023 4.440
我使用上面的chol()
函数,R
中的标准函数,需要4秒钟。这个问题是我需要迭代这样的事情50,000次,所以时间加起来非常快。
是否有人知道R
中或使用Rcpp
执行此操作的最快方法?谢谢!