鉴于我之前关于AMPL 使用的问题。
是否有任何其他严格用于数学处理的编程/脚本语言?
例如:Matlab(它确实有点偏离数学结构,但足够接近)、Mathematica 和 AMPL
R / S+ 用于统计计算
其他统计语言:SAS、SPSS、STATA、GAUSS等。
Octave,Matlab 的开源克隆
Fortress,“一种高性能计算语言,提供与现代编程语言原则相当的抽象和类型安全。”
枫
千里马
R, Python 的Numpy/scipy,Maple,Yacas,甚至Fortran。
总是有APL,它具有内置的矩阵运算符。现代 APL 甚至支持 .NET。
这可能仅具有历史意义,但 Fortan(IBM 数学公式翻译系统)特别适用于数值计算和科学计算。
Maple 用于符号数学(类似于 Mathematica)。
SAS、SPSS、R 用于统计。
运筹学/管理科学杂志对Simulation Software进行了年度调查,虽然我找不到链接,但我相信他们对优化包进行了年度调查,例如您引用的 AMPL。
OPL (Optimization Programming Language) is one of the most comprehensive modelling languages for Mathematical Programming. You can do Linear Programming (LP), Mixed Integer Programming (MIP), Quadratic Programming (QP), Constraint Programming (CP), MIQP, etc.
IBM-ILOG CPLEX Optimization Studio uses this language.
Sage基本上是带有大量包和一些语言扩展的 Python,它们被放入像 Mathematica 那样的“笔记本”界面中。它具有与各种计算机代数系统的接口。使用 Numpy 和 Scipy(包括在内),它是 Matlab 的一个很好的替代品。它是开源的并且积极开发。
鉴于您之前的问题,我假设您正在寻找商业数学软件包的替代方案。如果是这样,您应该尝试Sage,它是开源的,并且是几乎所有开源数学/sci.calc 的统一前端。包在那里(列表)。
它的工作方式是使用您的网络浏览器作为图形前端来显示、编辑和评估 Mathematica 风格的笔记本(也可以只使用命令行)。所有肮脏的工作,例如为情况选择合适的包,都是在后台透明地完成的。
Sage使用 Python 作为它的主要语言/语法,所以它很容易学习,如果你有旧的 Python 脚本,它们应该可以直接开箱即用。如果我没有 Mathematica 许可证,我肯定会使用它。
交互式数据语言 (IDL)是一种用于天文学、医学和其他科学的专有语言,至少部分原因在于其内置的数组运算和数学库。
由于这个问题在谷歌中仍然是开放的并且被很好地索引,我会明确地将Julia 语言添加到列表中。
除了使这种高级/高性能新语言大放异彩的技术方面,一个重要的考虑因素是开发人员/用户社区显然偏向于数学家。