bigmemoryパッケージを使用しています。wを計算したい。私の v の長さは 478000 で、k の長さは 240500 です。2 つの行列の乗算は w が非常に大きいです。
コードをループで実行しますが、まだ実行中であり、まだ終了しておらず、結果が得られるかどうかわかりません。
forループなしで計算しようとしたのですが、エラーになってしまいました。コードを修正して高速化するための助けをお願いします。
v <-read.big.matrix('v.dat',type='double')
k <-read.big.matrix('k.dat',type='double')
m=length(v);
n=length(k);
for(i in 1:m)
{
for(j in 1:n)
{
w[i,j] = 2 * cos(dt * v[i] * k[j]) - 2
}
}
w のサイズが非常に大きいため、ループの前に w を定義する方法 のようにはできませんでしw <- matrix(nr,ncol)
た。