2012-07-21 15 views
8

En mi grupo de investigación, tenemos diferentes personas haciendo modelado algebraico en diferentes herramientas simbólicas como Symbolic Toolbox en Matlab y Sympy en Python. Estos modelos luego se exportan típicamente a código C y se copian y pegan, adaptándolos a nuestras propias herramientas simbólicas basadas en C++ para una mayor manipulación simbólica.Contenido MathML vs. OpenMath para intercambio de modelo

Al buscar una alternativa a este enfoque difícil de mantener encontré dos formatos que parecían más o menos estandarizados: OpenMath y "Content MathML". Tenga en cuenta que solo estamos interesados ​​en la semántica, no en la impresión bonita.

¿Cuál es la relación entre estos dos formatos? ¿Se pueden usar ambos para almacenar e intercambiar expresiones matemáticas entre herramientas?

¿Hay algún otro formato de intercambio más o menos estandarizado para las expresiones matemáticas?

Respuesta

5

Los formatos están estrechamente relacionados (y se definen más o menos al mismo tiempo por un conjunto de personas superpuestas) (soy editor de las especificaciones MathML y ​​OpenMath, por ejemplo). En la versión actual de Content MathML (MathML 3) esto se formaliza mucho más que en versiones anteriores y todos los elementos de contenido MathML reciben semántica en términos de símbolos de código abierto. Así que, formalmente, la única diferencia es la sintaxis, el contenido MathML tiene un subconjunto "estricto" que es una codificación formal de OpenMath, más un conjunto de elementos de conveniencia que reciben reglas de reescritura formales para el subconjunto equivalente de OpenMath.

Aparte de la sintaxis de las expresiones mismas, si se aleja del conjunto fijo de operadores predefinidos en MathML, necesita alguna forma de registrar las definiciones, y aquí tanto OpenMath como MathML usan el mismo OpenMath "Contenido Diccionario "formato.

+0

Como ha sido parte de ambos proyectos, ¿sabe si ambos formatos se mantienen de forma activa? – Joel

+2

Sí, ambos se mantienen. En OpenMath, la mayor parte del trabajo realmente se destina al diseño de diccionarios de contenido, que a menudo son proyectos específicos, pero la última reunión abierta (a la que no pude acceder) fue este mes en CICM http://www.informatik.uni-bremen.de/ cicm2012/cicm.php y parece haber ido bien. MathML tiene un perfil más alto, especialmente la presentación mathml, ya que se usa en los navegadores, por lo que tiene una actividad más visible, el borrador de los editores se modificó por última vez para corregir los problemas informados a principios de este mes http://www.w3.org/Math/draft-spec/appendixf .html # changes.mathml3.02e-3.0 –