我很想找到一种方法将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]的成员
答案 0 :(得分:2)
这样的事情怎么样:
val dm = DenseMatrix((1,2,3),(0,0,0),(0,0,0))
val sm = CSCMatrix.tabulate(dm.rows, dm.cols)(dm(_, _))