我有一个用Armadillo编写的Rcpp代码。我想使用特征库在方程Ax = b中用稀疏矩阵A进行最小二乘估计。
问题是我如何从Armadillo sp_mat转换为Eigen SparseMatrix,反之亦然?
有一个类似的问题我如何从犰狳矩阵转换为特征MatrixXd,反之亦然?
问题链接:Converting an Armadillo Matrix to an Eigen MatriXd and vice versa
编辑模型文件
文件mockup.cpp中的
#include <RcppArmadillo.h>
#include <RcppEigen.h>
#include <iostream>
// [[Rcpp::depends(RcppArmadillo, RcppEigen)]]
// the function logit is a demo in Rcpp
// [[Rcpp::export]]
List logit_(arma::sp_mat A, Eigen::SparseMatrix<double> B){
// arma documentation link: http://arma.sourceforge.net/docs.html#memptr
int numA = A.n_rows;
arma::sp_mat out_A;
out_A = A.t();
// eigen documentation link: http://eigen.tuxfamily.org/dox/group__QuickRefPage.html
int numB = B.rows();
Eigen::SparseMatrix<double> out_B;
out_B = B.transpose();
return List::create(Named("out_A") = out_A,Named("out_B") = out_B);
}