Java/Scala代数数学库

24

你能给我推荐一些既灵活又强大、但速度又快的库,能够涵盖SciPy(在性能和功能方面)。 我发现SciPy非常表达力强 - 但我想尝试一些Scala中的东西。

我稍微了解了一下Scala - 但它没有SciPy那么多功能。 有任何替代方案吗?也许是Java库?


你尝试过使用Apache库(http://commons.apache.org/math/)吗? - Stan Kurilin
2
看起来是一个重复的问题:http://stackoverflow.com/questions/482305/java-scientific-packages-similar-to-scipy - Andrey Adamovich
@Superfilin 是的,但它包括Scala,这使得该领域更加开放。 - Daniel C. Sobral
这不是重复的——我正在寻找类似于Matlab样式的软件包,更适用于Scala。 - Robert Zaremba
3个回答

17
Scipy中的功能类似于Matlab。因此问题是,您是否只需要核心线性代数/向量矩阵数学运算,还是各种诸如聚类之类的东西。
如果您不知道Scalala(现在称为Breeze)和ScalaLab,您应该检查它们--也许它们适合您的需求。
如果需要更多样化的库,有几个Java库可能适合:CERN ColtApache Commons Math;然而,这些旨在以Java风格使用,并且您基本上只能从Scala内部以这种方式使用它们。(虽然当然,您可以将特别重的位包装在更漂亮的东西中。)

1
ScalaLab + Apache Commons Math听起来是一个不错的组合。 但就目前而言,我还没有找到像SciPy一样好(在组合和强度方面)。 - Robert Zaremba
1
Scalala似乎已经被弃用并合并到breeze中了。 - BeniBela

4

scalala(Scala线性代数库)和ScalaLab(更像是Matlab的Scala环境)。


1

有一个名为la4j(Java的线性代数)库可以在Scala环境中使用,但它不包含任何Scala特性,如高阶函数,因为Java不支持。la4j旨在用于命令式环境(而非函数式)。因此,如果您想以函数式方式使用它-Scalala是最佳选择。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接