R 在没有足够内存的情况下快速乘法稀疏矩阵

R 在没有足够内存的情况下快速乘法稀疏矩阵,r,matrix-multiplication,R,Matrix Multiplication,我正在使用矩阵包,我需要执行以下操作 sum(行和(triu(A%*%(D%*%t(A)),1))) 但是由于%*%(D%*%t(A))的原因,我遇到了内存不足的cholmod错误。有没有什么有效的方法可以避免这个问题?谢谢你的阅读 D是对角矩阵,我已经试过了 sumit<-vector(mode = "numeric",length = dim(A)[1]-1) sumit<-rep(0,dim(A)[1]-1) E<-D %*%t(A) for(i in

我正在使用矩阵包,我需要执行以下操作

sum(行和(triu(A%*%(D%*%t(A)),1)))

但是由于%*%(D%*%t(A))的原因,我遇到了内存不足的cholmod错误。有没有什么有效的方法可以避免这个问题?谢谢你的阅读

D是对角矩阵,我已经试过了

sumit<-vector(mode = "numeric",length = dim(A)[1]-1)
   sumit<-rep(0,dim(A)[1]-1)
   E<-D %*%t(A)
   for(i in 2:dim(A)[[1]]){
   for(j in 1:i-1){

      asumitar<-as.numeric(sumit[i] + as.numeric((A[i,] %*% E[,j])))
      if(length(asumitar)==0){asumitar<-0}
      sumit[i]<-asumitar

    }
  }
  n<-sum(sumit)

sumitHi谢谢,但是用slam代替Matrix会占用更多内存。嗨,谢谢,但是用slam代替Matrix会占用更多内存。