2012-07-21 9 views
8

In meiner Forschungsgruppe haben wir verschiedene Leute, die algebraische Modellierung in verschiedenen symbolischen Werkzeugen wie Symbolic Toolbox in Matlab und Sympy in Python machen. Diese Modelle werden dann typischerweise in C-Code exportiert und in unsere eigenen symbolischen C++ - basierten Tools für weitere symbolische Manipulation kopiert-eingefügt.Inhalt MathML vs. OpenMath für den Modellaustausch

Auf der Suche nach einer Alternative zu diesem kaum wartbaren Ansatz fand ich zwei Formate, die mehr oder weniger standardisiert aussahen: OpenMath und "Content MathML". Beachten Sie, dass wir nur an der Semantik interessiert sind, kein schöner Druck.

Welche Beziehung besteht zwischen diesen beiden Formaten? Können beide verwendet werden, um mathematische Ausdrücke zwischen Werkzeugen zu speichern und auszutauschen?

Gibt es noch andere mehr oder weniger standardisierte Austauschformat für mathematische Ausdrücke?

Antwort

5

Die Formate sind sehr nahe verwandt (und ungefähr zur gleichen Zeit von einer überlappenden Menge von Menschen definiert) (Ich bin ein Editor von MathML und OpenMath-Spezifikationen zum Beispiel). In der aktuellen Version von Content MathML (MathML 3) ist dies weitaus mehr formalisiert als in früheren Versionen und alle MathML-Inhaltselemente erhalten eine Semantik in Form von Openmath-Symbolen. Formal ist der einzige Unterschied die Syntax, Content MathML hat eine "strikte" Teilmenge, die eine formale Codierung von OpenMath ist, sowie eine Reihe von Convenience-Elementen, denen formale Rewrite-Regeln für die OpenMath-äquivalente Teilmenge gegeben werden.

Abgesehen von der Syntax der Ausdrücke selbst, müssen Sie, wenn Sie sich von der in MathML vordefinierten Menge von Operatoren entfernen, eine Art von Aufzeichnungsdefinitionen benötigen, und sowohl OpenMath als auch MathML verwenden denselben OpenMath- "Inhalt" Wörterbuch "Format.

+0

Da Sie an beiden Projekten beteiligt waren, wissen Sie, ob beide Formate aktiv verwaltet werden? – Joel

+2

Ja beide werden beibehalten. In OpenMath geht die meiste Arbeit wirklich in die Gestaltung der Inhaltswörterbücher, die oft projektspezifisch sind, aber das letzte Openmath Meeting (das ich nicht bekommen habe) war diesen Monat auf CICM http://www.informatik.uni-bremen.de/ cicm2012/cicm.php und scheint gut gelaufen zu sein. MathML hat ein höheres Profil, insbesondere die Präsentation mathml, wie es in Browsern verwendet wird, daher hat es mehr sichtbare Aktivität, der Editor-Entwurf wurde zuletzt geändert, um gemeldete Probleme Anfang des Monats zu beheben http://www.w3.org/Math/draft-spec/appendixf .html # changes.mathml3.02e-3.0 –