Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 稀疏矩阵乘法_R_Matrix_Fortran_Sparse Matrix - Fatal编程技术网

R 稀疏矩阵乘法

R 稀疏矩阵乘法,r,matrix,fortran,sparse-matrix,R,Matrix,Fortran,Sparse Matrix,我正试图用R编写一个矩阵稀疏矩阵乘法的子程序。它是一个简单的Fortran子程序,调用Sparsekit中的两个子程序 subroutine mprod(nrowa,ncola,ncolb,job,ra,fa,ca,rb,fb,cb,rc,fc, cc, nnzc, iwi,err) call amubdg(nrowa,ncola,ncolb,fa,ca,fb,cb,ndegr,nnzc,iwi) call amub (nrowa,ncolb,job,ra,fa,ca,rb,fb,cb,

我正试图用R编写一个矩阵稀疏矩阵乘法的子程序。它是一个简单的Fortran子程序,调用Sparsekit中的两个子程序

 subroutine mprod(nrowa,ncola,ncolb,job,ra,fa,ca,rb,fb,cb,rc,fc, cc, nnzc, iwi,err)
 call amubdg(nrowa,ncola,ncolb,fa,ca,fb,cb,ndegr,nnzc,iwi)
 call amub (nrowa,ncolb,job,ra,fa,ca,rb,fb,cb, rc,fc, cc, nnzc,iwi,err)
 return
 end
子例程
amubdg
获取乘积每行中非零元素的数量,即返回
nnzc
,我需要在
amub
中指定它来计算乘积。我的问题来了,在编译完我正在处理的包中的函数后,在
R

z <- .Fortran("mprod",
              nrowa=as.integer(nrowa),
              ncola=as.integer(ncola),
              ncolb=as.integer(ncolb),
              job= as.integer(1),
              ra=as.double(A.csr@ra),
              fa=as.integer(A.csr@ja),
              ca=as.integer(A.csr@ia),
              rb=as.double(B.csr@ra),
              fb=as.integer(B.csr@ja),
              cb=as.integer(B.csr@ia),
              rc=double(nnzc),
              fb=integer(nnzc),
              cb=integer(A.csr@ia+1),
              ndegr=integer(nrowa),
              iwi=integer(ncola),
              err=integer(1),
              PACKAGE = "naus")
z