我们说我有一个稀疏矩阵。我用以下CSV格式定义它:
row,column,value
1,1,5
1,2,10
在这种情况下,点(1,1)等于5,点(1,2)等于10.
从这种格式创建矩阵的有效方法是什么(假设有数千或数十万行)?
换句话说,我希望相当于在Matlab中运行full(spconvert(m)),其中m是上面的矩阵。
答案 0 :(得分:2)
您需要使用sp_mat
稀疏矩阵类的批量插入构造函数之一。有一个如何在documentation中执行此操作的示例:
// batch insertion of two values at (5, 6) and (9, 9)
umat locations;
locations << 5 << 9 << endr
<< 6 << 9 << endr;
vec values;
values << 1.5 << 3.2 << endr;
sp_mat X(locations, values);