【问题标题】:Content MathML vs. OpenMath for model exchange用于模型交换的内容 MathML 与 OpenMath
【发布时间】:2012-07-21 10:52:07
【问题描述】:

在我的研究小组中,我们有不同的人使用不同的符号工具进行代数建模,例如 Matlab 中的 Symbolic Toolbox 和 Python 中的 Sympy。然后,这些模型通常会导出为 C 代码,并复制粘贴到我们自己的基于 C++ 的符号工具中,以进行进一步的符号操作。

在寻找这种难以维护的方法的替代方案时,我发现了两种看起来或多或少标准化的格式:OpenMath 和“Content MathML”。请注意,我们只对语义感兴趣,而不是漂亮的打印。

这两种格式有什么关系?两者都可以用来存储和交换工具之间的数学表达式吗?

还有其他或多或少标准化的数学表达式交换格式吗?

【问题讨论】:

    标签: xml mathml symbolic-math sympy computer-algebra-systems


    【解决方案1】:

    格式密切相关(并且由一组重叠的人大致同时定义)(例如,我是 MathML 和 OpenMath 规范的编辑)。在当前版本的 Content MathML (MathML 3) 中,它的形式化程度远远超过早期版本,并且所有 MathML 内容元素都根据 openmath 符号给出了语义。所以形式上唯一的区别是语法,Content MathML 有一个“严格”子集,它是 OpenMath 的正式编码,加上一组便利元素,这些元素被赋予了 OpenMath 等效子集的正式重写规则。

    除了表达式本身的语法之外,如果您偏离了 MathML 中预定义的固定运算符集,您需要某种记录定义的方式,这里 OpenMath 和 MathML 都使用相同的 OpenMath“内容字典” " 格式。

    【讨论】:

    • 既然您参与了这两个项目,您是否知道这两种格式是否都在积极维护中?
    • 是的,两者都得到维护。在 OpenMath 中,大多数工作实际上是设计内容字典,这些字典通常是针对特定项目的,但最后一次 openmath 会议(我无法参加)是本月在 CICM informatik.uni-bremen.de/cicm2012/cicm.php 举行的,似乎进展顺利。 MathML 具有更高的知名度,尤其是在浏览器中使用的演示 mathml,因此具有更多可见的活动,编辑草稿最后一次更改以修复本月早些时候报告的问题w3.org/Math/draft-spec/appendixf.html#changes.mathml3.02e-3.0
    猜你喜欢
    • 1970-01-01
    • 2017-07-11
    • 1970-01-01
    • 2012-02-11
    • 2018-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-09
    相关资源
    最近更新 更多