gpt4 book ai didi

采用 args Eigen 稀疏矩阵的 C++ 函数

转载 作者:行者123 更新时间:2023-11-30 02:40:03 25 4
gpt4 key购买 nike

Eigen 库提供/建议了多种在函数中传递密集矩阵的方法,以便它适用于共享相同基数的不同类型,并避免复制(即 Ref<>、模板表达式)。

但是,我没有在 Eigen 文档或网上找到任何与稀疏矩阵等效的东西。

我基本上有以下问题:我如何编写一个具有通用接口(interface)的函数,以便可以使用可能不同的模板参数的 SparseMatrix 或 MappedSparseMatrix 对象调用它,而无需复制?

我已经尝试使用派生参数的 SparseMatrixBase 模板表达式,但无法使其工作。

一个简单的示例代码将不胜感激。

最佳答案

简单地写一个模板函数接受任何SparseMatrixBase<Derived> ,例如:

template<typename Derived>
void foo(const SparseMatrixBase<Derived> &a_mat) {
const Derived &mat(a_mat.derived());
SparseMatrix<typename Derived::Scalar> tr_mat = mat.transpose();
}

关于采用 args Eigen 稀疏矩阵的 C++ 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29273908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com