c++的类似对称数组的数据结构
Symmetric array-like data structure for c++
我正在做一个模拟,必须计算许多平均值,我认为使用boost::累加器是个好主意。问题是,我想要求平均值的量之一是对称矩阵,它的对角线事先是已知的。所以我只需要计算Q[I][j]的平均值,如果I<j.
一开始我觉得我可以使用
using namespace boost::accumulators;
using namespace boost::numeric::ublas;
typedef accumulator_set<double, stats<tag::mean> > accumulator;
symmetric_matrix<accumulator, lower> foo; // a symmetric matrix of accumulators
拿着我的蓄能器。但后来我突然想到,这种对称矩阵结构可能只适合保存数值(它们定义了算术运算),或者以某种方式针对这类数据进行了优化。这是对的吗?
如果boost中的symmetric_matrix不够,我需要一个数据结构,它可以容纳没有对角线的对称矩阵的下三角,并且它必须适合容纳累加器,并且具有良好的类似矩阵的语法。这在某个图书馆能买到吗?如果没有,这种结构是否有一个简单的实现方法?
尝试Boost uBLAS三角矩阵。下面是一个例子。
相关文章:
- std::vector的包装器,使数组的结构看起来像结构的数组
- C++中的可变长度数组/数据结构
- C++:__aligned(__alignof__) 导致字符数组数据出现问题?
- 很好的语法来获取对向量/数组数据的大小引用?
- C++具有动态分配的字符数组的结构
- 复制 C 样式数组和结构
- 使用选择排序对数组数据结构进行排序,但它不起作用
- 数组数据以错误的方式遍历 Python/Matlab
- 如何填充包含指针数组的结构数组
- 访问 Arduino 中的结构数组数据
- 如何修复访问动态数组中结构中的字符串变量时"segmentation fault (core dumped)"错误
- sizeof(空结构)和sizeof(带有空数组的结构)之间的区别?
- 在能够从 Web 浏览器访问大型数组数据的同时存储它的最可行方法是什么?
- 初始化固定的 C 数组成员结构
- 对需要双精度数组和结构作为输入C++ DLL 函数的 C# 调用
- 将包含数组数据成员的结构保存到文件
- 数据包转换为具有多个动态数组的结构
- 从数组数据中缺少第一个元素的 DLL 返回C++结构
- 实现动态数组数据结构时出现"double free or corruption"错误
- 将字节数组数据映射到c#中的结构体