На выходе получается очень большая матрица с использованием bigmemory

Я использую bigmemory, я хочу рассчитать W. моя длина v равна 478000, а длина k равна 240500. Умножение двух матриц очень велико. Я запускаю код за циклом, который еще не завершен, и я не знаю, даст мне результат или нет. Я пытаюсь вычислить без цикла for. Я получил ошибку. Пожалуйста, помогите исправить мой код или сделайте это быстро.

    v <-read.big.matrix('v.dat',type='double')
    k <-read.big.matrix('k.dat',type='double')
    m=length(v);
    n=length(k);
    w <-filebacked.big.matrix(length(v),length(k),type="double",backingfile="w.bin",descriptorfile="w.desc")
    start <- Sys.time()
    w <- as.big.matrix(2*cos(0.001*v[]%*%t(k[]))-2)
    Sys.time() - start

    # for(i in 1:m)
   # {

           # for(j in 1:n)
           # {
                   # w[i,j]=2*cos(dt*v[i]*k[j])-2
           # }
   # }

Благодарю.

0 ответов

Другие вопросы по тегам