数学编程语言
Given my previous questions about the the usage of AMPL.
Are there any other programming/scripting languages that are strictly meant for mathmatical processing?
For example: Matlab (it does deviate a bit from a mathematical structure, but its close enough), Mathematica, and AMPL
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
用于统计计算的 R/S+
其他统计语言:SAS、SPSS、STATA、GAUSS 等
Octave,Matlab Fortress 的开源克隆
,“一种用于高性能计算的语言,提供与现代编程语言同等的抽象和类型安全性”原则”。
枫木
千里马
R / S+ for statistical computing
Other stat languages: SAS, SPSS, STATA, GAUSS, etc.
Octave, an open source clone of Matlab
Fortress, "a language for high-performance computation that provides abstraction and type safety on par with modern programming language principles."
Maple
Maxima
总有 APL 及其内置矩阵运算符。现代 APL 甚至支持 .NET。
There's always APL, with its builtin matrix operators. Modern APL even supports .NET.
R,Numpy/scipy 用于 Python、Maple、Yacas,甚至Fortran。
R, Numpy/scipy for Python, Maple, Yacas, even Fortran.
这可能仅具有历史意义,但 Fortan(IBM 数学公式翻译系统)特别适合数值计算和科学计算。
This may be only of historical significance, but Fortan (The IBM Mathematical Formula Translating System) is especially suited to numeric computation and scientific computing.
OPL(优化编程语言)是最全面的数学编程建模语言之一。您可以进行线性规划 (LP)、混合整数规划 (MIP)、二次规划 (QP)、约束规划 (CP)、MIQP 等。IBM
-ILOG CPLEX Optimization Studio 使用此语言。
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.
Maple 用于符号数学(类似于 Mathematica)。
SAS、SPSS、R 用于统计。
《运筹学/管理科学》杂志每年进行一次调查模拟软件,虽然我找不到该链接,但我相信他们对优化包进行了年度调查,例如您引用的 AMPL。
Maple for symbolic math (similar to Mathematica).
SAS, SPSS, R for statistics.
The Operation Research / Management Science magazine has a yearly survey of Simulation Software, and while I can't find the link I believe they have one yearly survey on optimization packages, such as AMPL you are quoting.
Sage 基本上是 Python,带有大量软件包和一些语言扩展,放入“笔记本”界面中,例如数学。它具有与各种计算机代数系统的接口。与 Numpy 和 Scipy(包含在内)一起,它是 Matlab 的良好替代品。而且它是开源的并且正在积极开发。
Sage is basically Python with a load of packages and a few language extensions put into a "notebook" interface like that of Mathematica. It has interfaces to all sorts of computer algebra systems. And with Numpy and Scipy (which are included) it's a fine replacement for Matlab. And it's open source and actively developed.
鉴于您之前的问题,我假设您正在寻找商业数学包的替代方案。如果是这样,你应该尝试 Sage,它是开源的,并且是几乎所有应用程序的统一前端所有开源 math/sci.calc。那里有软件包(列表)。
它的工作方式是,它使用 Web 浏览器作为图形前端来显示、编辑和评估 Mathematica 风格的笔记本(也可以仅使用命令行)。所有脏工作,例如根据情况选择适当的包,都是在后台透明地完成的。
Sage 使用 Python 作为它的主要语言/语法,所以它相当容易学习,如果你如果有旧的 Python 脚本,它们应该可以开箱即用。如果我没有 Mathematica 许可证,我肯定会使用它。
Given your previous question, I assume you are looking for an alternative to commercial mathematics packages. If so, you should try Sage, it is open source and is a unified front end for almost all of the open source mathematics/sci.calc. packages out there (list).
The way it works, is that it uses your web browser as a graphical front end for displaying, editing and evaluating Mathematica style notebooks (it is also possible to just use the command line). All the dirty work, such as selecting the appropriate package for the situation, is done transparently in the background.
Sage uses Python as it's main language / syntax, so it's fairly easy to learn, and if you have old Python scripts, they should work straight out of the box. If I didn't have access to a Mathematica license, I would definitely use this.
交互式数据语言 (IDL) 是一种用于天文学、医学和其他科学的专有语言至少部分是因为它内置的数组运算和数学库。
Interactive Data Language (IDL) is a proprietary language used in astronomy, medicine and other sciences at least in part because of its built-in array operations and mathematical library.
由于这个问题仍然悬而未决,并且在 Google 中索引良好,因此我肯定会将 Julia 语言 添加到列表中。
除了使这种高水平/高性能新语言大放异彩的技术方面之外,一个重要的考虑因素是开发人员/用户社区显然偏向数学家。
As this question is still open and well indexed in Google, I would definitively add to the list the Julia language.
Aside the technical aspects that make shine this high level/high performance new language, an important consideration is that the community of developers/users is clearly biased toward mathematicians.