将Armadillo sp_mat转换为Eigen SparseMatrix <double>,反之亦然

时间:2017-12-21 05:59:17

标签: sparse-matrix eigen rcpp armadillo

我有一个用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);

}

0 个答案:

没有答案