gpt4 book ai didi

c++ - 处理 boost ublas 稀疏或密集矩阵的 API

转载 作者:太空宇宙 更新时间:2023-11-04 12:16:55 25 4
gpt4 key购买 nike

我对 Boost ublas 文档有点困惑。我似乎不清楚稀疏矩阵类和密集矩阵类共享一个公共(public)父类——我相信这是设计使然。但是,假设它只需要使用 operator() 访问器对矩阵的条目进行操作,那么我如何设计一个可以接受稀疏或密集矩阵的 API。例如,像这样:

float doMatrixMath(matrix_base<float> m) 
{
return m(1,1)+m(2,2);
}

也许我的想法是错误的。任何关于如何考虑 ublas 类的对象建模的指导将不胜感激!

最佳答案

不幸的是模板。您可以使用非常通用的类型,或者深入挖掘并找到更具体的内容,但总体思路是:

template< typename MatrixType >
float doMatrixMath(MatrixType m)
{
return m(1,1)+m(2,2);
}

当然这可以通过更具体的类型和返回值检测来 boost ...

关于c++ - 处理 boost ublas 稀疏或密集矩阵的 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7293671/

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