我使用Eigen的稀疏矩阵作为我的一些函数的数据结构。我的函数将遍历稀疏矩阵的行并执行一些操作。我试图访问稀疏矩阵的行作为SparseVector,但由于某种原因导致R崩溃。
#include <RcppEigen.h>
// [[Rcpp::depends(RcppEigen)]]
using Eigen::Map;
using Eigen::MatrixXd;
using Eigen::VectorXd;
using Eigen::SparseMatrix;
using Eigen::MappedSparseMatrix;
using Eigen::SparseVector;
using Eigen::Triplet;
using namespace Rcpp;
using namespace Eigen;
// [[Rcpp::export]]
Eigen::SparseVector<double> getSparseVec(const Eigen::MappedSparseMatrix<double>& X) {
return X.row(1);
}
.row()的返回类型似乎是一个ConstRowXpr,但我不知道如何将其转换为SparseVector的形式,而且我一直无法找到该文档的页面ConstRowXpr