我试图找到一个非常大的稀疏矩阵的eigevalues。我正在使用RcppArmadillo的eig_gen函数,它不是专门用于稀疏矩阵的,但只要计算是用单精度完成的,我就可以了。所以我的cpp代码是:
#include <RcppArmadillo.h>
// [[Rcpp::depends(RcppArmadillo)]]
// [[Rcpp::export]]
arma::cx_fvec getEigenValuesARMASingle(arma::fmat M) {
return arma::eig_gen(M);
}
但是我收到以下错误:
sourceCpp( 'EigSingle.cpp') dyn.load中的错误(“/ home / marsha / tmp / Rtmpvko2N0 / sourcecpp_9f46104c5262 / sourceCpp_1.so”): 无法加载共享对象'/home/marsha/tmp/Rtmpvko2N0/sourcecpp_9f46104c5262/sourceCpp_1.so': /home/marsha/tmp/Rtmpvko2N0/sourcecpp_9f46104c5262/sourceCpp_1.so:unfined defined symbol:sgeev_ 电话:sourceCpp - &gt;来源 - &gt; withVisible - &gt; eval - &gt; eval - &gt; dyn.load 执行暂停
答案 0 :(得分:1)
R不支持float
。只需使用double
,即标准mat
。