【发布时间】:2015-01-26 11:08:14
【问题描述】:
我有两个使用坐标存储格式的稀疏矩阵操作的 c++ 函数(foo,goo), 也就是说,矩阵以 3 个数组的形式给出:row_index[nnz]、column_index[nnz]、value[nnz] 其中 nnz 是非零元素的数量。
foo “按行主要顺序”返回稀疏矩阵,例如:
- 1 1 4.000000
- 1 2 4.000000
- 2 1 6.000000
- 2 3 8.000000
- 3 3 10.000000
相反,goo 需要将向量按“按列主要顺序”排序,即:
- 1 1 4.000000
- 2 1 6.000000 //这个改变了
- 1 2 4.000000 //这个改变了
- 2 3 8.000000
- 3 3 10.000000
我怎样才能以最有效的方式进行这种转换?
附加信息: goo 还支持压缩列格式。
【问题讨论】: