如何用Scala解决大型稀疏线性系统问题

时间:2013-08-22 14:23:35

标签: scala linear-algebra solver

已经有一些questions询问Scala的一般数学/统计框架。

我只对一个特定问题感兴趣,即解决大型稀疏线性系统问题。基本上我正在寻找相当于scipy.sparse.linalg.spsolve

目前我正在研究breeze-mathScalaNLP Breeze,看起来它会起作用,除了这个库集合的重点是自然语言处理,所以使用起来感觉有点奇怪那。

Saddle看起来很有希望,但还不是很成熟,看看它的依赖关系,EJML似乎没有稀疏功能,而Apache公共数学确实如此,但它是flaky

有没有人有一个目前可用的合理简单有效的解决方案?

1 个答案:

答案 0 :(得分:2)

尽管ScalaNLP Breeze说它适用于NLP,但它的线性代数库相当普遍,并不专门用于NLP。话虽如此,你可以很容易地做到这样的事情:

  val A = new CSCMatrix[Int]()
  val B = new CSCMatrix[Int]()

  val x = A \ B