大家好,
我一直在使用C++中的R数学独立库。我很喜欢能够生成随机数并使用我熟悉的R分布函数。我的问题是:是否可以在独立库中使用R中可用的矩阵运算(乘法、转置、求逆、Chol等)?我在Rmath.h中没有看到它们。
如果矩阵运算可以在独立的C++代码中使用,那么R API就成为了完美的开源计算引擎。人们是否以这种方式使用它呢?
非常感谢您的指导和建议!
大多数,如果不是所有的事情,都是由R链接到的LAPACK或BLAS Fortran代码提供的,而不是R自己提供新代码。
如果您有兴趣使用C++与R一起使用,请查看Dirk Eddelbuettel和Romain Francois的Rcpp包。Dirk还编写了RcppArmadillo包,作为Armadillo C++线性代数库的接口,可以执行您提到的矩阵操作。
这是否有用取决于您是想编写在R之外访问的单独的C++代码,还是接口C++代码,在R中访问。 Rcpp极大地促进了后者。如果是前一种情况,请直接查看Armadillo。