scala - 如何从 Scala 求解大型稀疏线性系统

标签 scala linear-algebra solver

有一些questions询问 Scala 的通用数学/统计框架。

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

目前我正在调查breeze-mathScalaNLP Breeze ,看起来它可以完成这项工作,只不过这个库集合的重点是自然语言处理,所以使用它感觉有点奇怪。

Saddle看起来也很有前途,但还不是很成熟,从它的依赖关系来看,EJML 似乎没有稀疏功能,而 Apache commons math 有,但它是 flaky

目前有没有人有一个相当简单且有效的解决方案?

最佳答案

尽管 ScalaNLP Breeze 声称它是针对 NLP 的,但它的线性代数库相当通用,并不是专门针对 NLP 的。话虽如此,您可以轻松地执行以下操作:

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

  val x = A \ B

关于scala - 如何从 Scala 求解大型稀疏线性系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18383194/

相关文章:

python - 提高python中重心坐标计算的效率

machine-learning - 计算梯度更新

algorithm - 一个版本的熄灯游戏的可解性

list - 如何在 Scala 中保持表达式的函数式风格

scala - 更改 sbt 任务中的设置

scala - 如何在 Scala 中进行简单的类型转换?

r - R 中复数矩阵的行列式

sql - 即使解析器被标记为可选, Play Scala Anorm 解析器也会抛出 UnexpectedNullableFound

python - 为什么 Sympy 会错误地替换值?

c++ - 将 dolfin::matrix 转换为 eigen::matrix