这是我试图在scala中实现的功能
创建一些数字的列表..假设(1,2 ,3,4,5) //这表示一个文档及其特征
将有n个具有不同特征的这样的列表。
我想把这n个列表放入一个矩阵中。所以以后,如果我想对这个矩阵做运算,比如矩阵转置,矩阵求逆,我可以很容易地做到。
目前我确实准备好了列表,但我不确定如何使用scala的sparseVector和编码器函数,因为这个矩阵的行数会很大(大约100万),列数会是200000。因此性能也是一个问题。
发布于 2012-02-18 21:01:45
您可以使用具有默认值的贴图来表示稀疏矩阵:
val matrix = Map((0, 0) -> 1, (0, 1) -> 2, (30, 4) -> 3).withDefaultValue(0)如果只需要行是稀疏的,那么您可以使用类似于Map[Int, Int]s的Vector。
不过,一般来说,如果您关心内存或矩阵运算的性能,那么使用专为解决这类问题而设计的库将会更好。我过去对Colt libraries很满意,但还有很多其他的选择,比如Scalala和JScience。
https://stackoverflow.com/questions/9340110
复制相似问题