内容MathML与OpenMath进行模型交换

Joe*_*oel 8 xml mathml symbolic-math sympy computer-algebra-systems

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

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

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

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

Dav*_*sle 5

格式非常密切相关(并且由一组重叠的人大致同时定义)(例如,我是MathML和OpenMath规范的编辑者).在当前版本的Content MathML(MathML 3)中,这种形式化远远超过早期版本,并且所有MathML内容元素都以openmath符号的形式给出了语义.因此,正式唯一的区别是语法,Content MathML有一个"严格"的子集,它是OpenMath的正式编码,加上一组便利元素,它们给OpenMath等效子集提供了正式的重写规则.

除了自己,如果你偏离从一组固定运营商之外的MATHML预先定义表达式的语法,你需要的记录定义的一些方式,这里既OpenMath和MathML使用相同的OpenMath"内容字典"格式.

  • 是的,都维护.在OpenMath中,大部分工作都是设计内容词典,这些词典通常是项目特定的,但最后一次openmath会议(我无法达到)是本月在CICM http://www.informatik.uni-bremen.de/ cicm2012/cicm.php似乎进展顺利.MathML有一个更高的配置文件,尤其是在浏览器中使用的表示mathml,所以有更多可见的活动,编辑草案最后更改为修复本月早些时候报告的问题http://www.w3.org/Math/draft-spec/appendixf的.html#changes.mathml3.02e-3.0 (2认同)