Scala Breeze DenseMatrix到SparseMatrix的转换

时间:2016-11-08 10:09:51

标签: scala breeze sparse-matrix

我很想找到一种方法将DenseMatrix快速转换为SparseMatrix。

我尝试将DenseMatrix扁平化为数组,将其转换为稀疏矩阵,然后重新整形,但由于没有重塑功能,这是不可能的。

val dm = DenseMatrix((1,2,3),(0,0,0),(0,0,0))
val sm =CSCMatrix(dm.toArray)
sm.reshape(3,3)

错误:值重塑不是breeze.linalg.CSCMatrix [Int]的成员

1 个答案:

答案 0 :(得分:2)

这样的事情怎么样:

val dm = DenseMatrix((1,2,3),(0,0,0),(0,0,0))
val sm = CSCMatrix.tabulate(dm.rows, dm.cols)(dm(_, _))