【问题标题】:Mathematical Programming Languages数学编程语言
【发布时间】:2009-11-06 18:00:36
【问题描述】:

鉴于我之前关于AMPL.的用法的问题

是否还有其他严格用于数学处理的编程/脚本语言?

例如:Matlab(它确实有点偏离数学结构,但足够接近)、Mathematica 和 AMPL

【问题讨论】:

  • 它是带有“e”的 Mathematica

标签: math matlab programming-languages wolfram-mathematica ampl


【解决方案1】:

R / S+ 用于统计计算

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

Octave,Matlab 的开源克隆

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

枫树

最大值

【讨论】:

    【解决方案2】:

    RNumpy/scipy 用于 Python,MapleYacas,甚至是 Fortran

    【讨论】:

    • Numpy/scipy 本身并不是一门语言。它是python的扩展。
    • 如果你很挑剔,那么我想是的。它应该读为“Python 是一种用于数学处理的编程语言。但仅当您使用 numpy/scipy 扩展时。”然而,我认为这很乏味。 :P
    【解决方案3】:

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

    【讨论】:

    • 虽然这是非常特定于供应商的。至少 Dyalog 可以。
    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

      Maple 用于符号数学(类似于 Mathematica)。
      SAS、SPSS、R 用于统计。
      运筹学/管理科学杂志对Simulation Software 进行了年度调查,虽然我找不到链接,但我相信他们对优化包进行了年度调查,例如您引用的 AMPL。

      【讨论】:

        【解决方案6】:

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

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

        【讨论】:

          【解决方案7】:

          Sage 基本上是带有大量包和一些语言扩展的 Python,它们被放入像 Mathematica 那样的“笔记本”界面中。它具有与各种计算机代数系统的接口。使用 Numpy 和 Scipy(包括在内),它是 Matlab 的一个很好的替代品。而且它是开源的并且正在积极开发。

          【讨论】:

            【解决方案8】:

            鉴于您之前的问题,我假设您正在寻找商业数学软件包的替代方案。如果是这样,你应该试试Sage,它是开源的,是几乎所有开源数学/sci.calc 的统一前端。包在那里 (list)。

            它的工作方式是使用您的网络浏览器作为图形前端来显示、编辑和评估 Mathematica 风格的笔记本(也可以只使用命令行)。所有繁琐的工作,例如根据情况选择合适的包,都在后台透明地完成。

            Sage 使用 Python 作为它的主要语言/语法,所以它很容易学习,如果你有旧的 Python 脚本,它们应该可以直接开箱即用。如果我没有 Mathematica 许可证,我肯定会使用它。

            【讨论】:

              【解决方案9】:

              Interactive Data Language (IDL) 是一种用于天文学、医学和其他科学的专有语言,部分原因在于其内置的数组运算和数学库。

              【讨论】:

                【解决方案10】:

                由于这个问题在谷歌中仍然是开放的并且被很好地索引,我会明确地将Julia language添加到列表中。

                除了使这种高级/高性能新语言大放异彩的技术方面,一个重要的考虑因素是开发人员/用户社区显然偏向于数学家。

                【讨论】:

                  猜你喜欢
                  • 2023-03-04
                  • 2021-07-24
                  • 1970-01-01
                  • 2011-02-22
                  • 2011-02-04
                  • 1970-01-01
                  • 2022-12-10
                  • 2011-07-19
                  相关资源
                  最近更新 更多