我想存储和操作一个矩阵数组(或指向它们的指针),它可以是不同维度的
arma::mat
或 arma::sp_mat
(通过 Rcpp 从 R 传递)。实现这一目标的最简单方法是什么?例如,考虑到两种类型之间共享操作的程度,也许已经存在 arma::mat
和 arma::sp_mat
派生自的父类?这将允许我导出指向不同矩阵的指针并填充我的数组。谢谢!
编辑:我原以为将矩阵的输入列表存储在
Rcpp::List
中就足够了。但对于任何下游计算,我仍然需要为列表中的给定索引实例化适当的 arma::mat
或 arma::sp_mat
,所以在我看来,简单地将输入矩阵存储在列表中是不够的。
看来 RcppGallery 已经有了答案,感谢作者:https://gallery.rcpp.org/articles/dynamic-dispatch-for-sparse-matrices/