斯卡拉有一个好的math/统计库吗?
我正在寻找一个好的math和统计数据的scala开源库。 希望像Apache Math或Colt一样,但在Scala中实现。
任何人都可以指向正确的方向吗?
是的有一些:
Scalalab
ScalaLab项目旨在为Java虚拟机提供高效的科学编程环境。 该脚本语言基于Scala编程语言,通过高级科学操作员的增强以及提供类似于Matlab的工作风格的集成环境。
脚本代码非常快,接近Java(有时更慢,有时更快),并且通常等效于Matlab .m脚本更快!
斯巴拉拉现在被微风取代
一个用于Scala的高性能数值线性代数库,在向量和matrix上具有丰富的类似Matlab的运算符; 数字例程库; 支持绘图。
Factorie
FACTORIE是可部署概率build模工具包,在Scala中作为软件库实现。 它为用户提供了一个简洁的语言来创build关系因子图 ,估计参数和执行推理。
Cassovary
通过twitter进行graphics处理:
Cassovary从头开始devise,以高效处理具有数十亿边缘的graphics。 它带有一些通用的节点和graphics数据结构和遍历algorithm。 一个典型的用法是做大规模的图挖掘和分析。
在Twitter上,Cassovary形成了一个堆栈的底层,我们用它来为我们的许多基于graphics的function,包括“谁跟随”和“类似”。我们还使用它在Twittersearch中的相关性以及确定哪些推广产品用户将看到。 随着时间的推移,我们希望将一些这些产品特性的非专有逻辑带入到Cassovary。
Algebird
来自twitter的抽象代数库:
代码的目标是构build聚合系统(通过Scalding或Storm)。 它最初是作为Scalding的Matrix API的一部分开发的,其中matrix的值是Monoid,Groups或Rings的元素。 随后,很明显,代码在Scalding和Twitter内的其他项目中具有更广泛的应用。
scala_prob
! 有实验的地位!
sb_probdsl提供简单的离散概率编程支持,使用scala的新定界延续支持。
Malakov
一个Scala的马尔可夫链库
马尔可夫链表示随机过程,其中下一步的概率分布在当前步骤上非平凡地取决于,但不依赖于前面的步骤。 给这个图书馆一些培训数据,它会产生新的随机数据在统计上类似。
信号收集
Signal / Collect是一个用于大规模graphics处理的编程模型和框架。 该模型具有足够的performance力,可以在图上简洁地制定许多迭代和数据streamalgorithm,同时允许框架透明地并行处理。
Grizzled.math
包括统计和实用程序包。 包含非常基本和众所周知的事情,如手段std …
概率Monad:
虽然它不是图书馆,它可以帮助你很多处理概率。
Figaro是一个用于概率编程的Scala库。 您可以在这里find更多关于Figaro的信息
Figaro可从Figaro Github下载
这个图书馆的作者目前正在使用费加罗写一本关于概率规划的书。 这里是书页的链接: 概率编程书
尖塔
Spire是Scala的一个数字库,旨在实现通用,快速和精确。
通过使用诸如专业化,macros,typestypes和含义之类的特性,Spire努力摒弃了传统的关于性能和精度平衡的看法。 主要目标是允许开发人员编写有效的数字代码,而不必“烘烤”特定的数字表示。 在大多数情况下,使用Spire的专用types类的generics实现与相应的直接实现完全相同。