【发布时间】:2015-03-26 08:28:29
【问题描述】:
Eigen 库提供/建议了多种在函数中传递密集矩阵的方法,以便它适用于共享相同基数的不同类型,并避免复制(即 Ref,模板表达式)。
但是,我在特征文档或在线文档中都没有找到任何与稀疏矩阵等效的东西。
我基本上有以下问题: 如何编写具有通用接口的函数,以便可以使用可能不同模板参数的 SparseMatrix 或 MappedSparseMatrix 对象调用它,而无需复制?
我已尝试使用派生参数的 SparseMatrixBase 模板表达式,但无法使其工作。
一个简单的示例代码将不胜感激。
【问题讨论】:
-
在开发分支中,您可以像处理密集对象一样使用
Ref<SparseMatrix<...> >和Map<SparseMatrix<...> >。这也使得MappedSparseMatrix被弃用。 -
太好了。如果我想支持具有不同模板参数的稀疏矩阵,例如 double/float、row major/col major,情况如何?
-
然后使用模板函数获取
SparseMatrixBase<Derived>。 -
我试过了。但它似乎不适用于 MappedSparseMatrix。可以举个简单的例子吗?
标签: c++ function sparse-matrix eigen