r - 矩阵的并行分配

时间:2017-03-10 14:28:46

标签: r parallel-processing

我有一个向量v。我正在尝试构建一个矩阵,其元素M[i][j]取决于v[i]v[j]

执行此操作的'循环'方式如下(例如):

v = c(1:4)
M = matrix(0, nrow = length(v), ncol = length(v))    
for(i in 1:length(v)){
    for(j in i:length(v)){
        M[i,j] = v[i] * v[j]
    }
}

M然后看起来像:

     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]    0    4    6    8
[3,]    0    0    9   12
[4,]    0    0    0   16

现在矩阵可以很容易地对称化。

然而,当v变大时,这变得非常缓慢。考虑到这个问题是多么令人尴尬的并行,我希望有一种方法可以并行执行这项任务?

NB - 我对矢量元素执行的实际函数比乘法更复杂,但这只是一个不错的例子!

0 个答案:

没有答案