数学编程语言

8

鉴于我之前关于AMPL使用的问题。

还有其他专门用于数学处理的编程/脚本语言吗?

例如:Matlab(它在一定程度上偏离了数学结构,但足够接近),Mathematica和AMPL。


1
这是带有“e”的Mathematica。 - gdelfino
10个回答

7

R / S+是用于统计计算的编程语言。

其他统计语言包括:SAS、SPSS、STATA、GAUSS等。

Octave是Matlab的开源克隆版本。

Fortress是“一种高性能计算语言,提供了与现代编程语言原则相当的抽象和类型安全性。”

Maple

Maxima


4

Numpy/scipy不是一种独立的语言,而是Python的扩展。 - monksy
4
如果你想挑剔的话,我猜是的。应该这样写:“Python是一种用于数学处理的编程语言,但仅在使用numpy/scipy扩展时才是如此。”然而,我觉得这太冗长了。 :P - Richie Cotton

4

总是有APL可用,它内置了矩阵运算符。现代的APL甚至支持.NET。


虽然这非常依赖于供应商。至少Dyalog有这个功能。 - ein mensch

3

这可能只有历史意义,但是Fortan(IBM数学公式翻译系统)特别适用于数值计算和科学计算。


2

Maple是用于符号数学的软件(类似于Mathematica)。
SAS、SPSS、R用于统计学。
《运筹学/管理科学杂志》每年都会对仿真软件进行调查,虽然我找不到链接,但我相信他们每年都会对优化软件进行一次调查,例如你所引用的AMPL。


2

OPL(优化编程语言)是数学规划中最全面的建模语言之一。您可以进行线性规划(LP)、混合整数规划(MIP)、二次规划(QP)、约束编程(CP)、MIQP等操作。

IBM-ILOG CPLEX Optimization Studio使用这种语言。


注:Original Answer翻译成"最初的回答"

1

Sage基本上是Python加上一堆包和一些语言扩展,放入类似Mathematica的“笔记本”界面中。它具有与各种计算机代数系统的接口。而且配合Numpy和Scipy(已包含在内),它可以很好地替代Matlab。此外,它是开源的,并且正在积极开发中。


1

根据您之前的问题,我猜想您正在寻找商业数学软件的替代方案。如果是这样,您应该尝试Sage,它是开源的,并且是几乎所有开源数学/科学计算包的统一前端(list)。

它的工作方式是使用您的Web浏览器作为图形前端来显示、编辑和评估类似Mathematica的笔记本(也可以只使用命令行)。所有的脏活累活,例如选择适当的软件包以适应情况,都在后台透明地完成。

Sage使用Python作为其主要语言/语法,因此很容易学习,如果您有旧的Python脚本,它们应该可以直接使用。如果我没有访问Mathematica许可证,我肯定会使用它。


0

交互式数据语言(IDL)是一种专有语言,主要用于天文学、医学和其他科学领域,部分原因是它内置的数组操作和数学库。


0

由于这个问题仍然是开放的,并且在谷歌上有很好的索引,我肯定会将Julia语言添加到列表中。

除了技术方面使这种高级/高性能新语言闪耀的方面之外,一个重要的考虑因素是开发者/用户社区明显偏向于数学家。


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