2012-07-21 41 views
8

W mojej grupie badawczej mamy różne osoby zajmujące się modelowaniem algebraicznym w różnych narzędziach symbolicznych, takich jak Symbolic Toolbox w Matlab i Sympy w Pythonie. Modele te są następnie zazwyczaj eksportowane do kodu C i kopiowane za pomocą wklejenia do naszych własnych symbolicznych narzędzi opartych na C++ w celu dalszej symbolicznej manipulacji.Zawartość MathML vs. OpenMath do wymiany modeli

Szukając alternatywy dla tego trudnego do utrzymania podejścia, znalazłem dwa formaty, które wyglądały mniej więcej w standardzie: OpenMath i "Content MathML". Zauważ, że interesuje nas tylko semantyka, brak ładnego druku.

Jaka jest relacja między tymi dwoma formatami? Czy oba mogą być używane do przechowywania i wymiany wyrażeń matematycznych między narzędziami?

Czy istnieje jeszcze inny mniej lub bardziej wystandaryzowany format wymiany dla wyrażeń matematycznych?

Odpowiedz

5

Formaty są bardzo ściśle powiązane (i zdefiniowane mniej więcej w tym samym czasie przez nakładający się zestaw osób) (jestem na przykład edytorem zarówno specyfikacji MathML, jak i OpenMath). W obecnej wersji Content MathML (MathML 3) jest to sformalizowane znacznie więcej niż we wcześniejszych wersjach, a wszystkie elementy treści MathML mają semantykę pod względem symboli openmath. Tak więc formalnie jedyną różnicą jest składnia, zawartość MathML ma "surowy" podzbiór, który jest formalnym kodowaniem OpenMath, oraz zestaw elementów wygody, które otrzymują formalne reguły przepisywania do równoważnego podzbioru OpenMath.

Niezależnie od składni samych wyrażeń, jeśli odchodzisz od ustalonego zestawu operatorów predefiniowanych w MathML, potrzebujesz sposobu na rejestrację definicji, a tutaj zarówno OpenMath, jak i MathML używają tej samej zawartości OpenMath " Format słownika.

+0

Od kiedy uczestniczyłeś w obu projektach, czy wiesz, że oba formaty są aktywnie obsługiwane? – Joel

+2

Tak, oba są zachowane. W OpenMath większość prac naprawdę idzie do projektowania słowników treści, które często są specyficzne dla projektu, ale ostatnie spotkanie openmath (do którego nie mogłem się dostać) było w tym miesiącu na CICM http://www.informatik.uni-bremen.de/ cicm2012/cicm.php i wydaje się, że poszło dobrze. MathML ma wyższy profil, w szczególności mathml prezentacji, ponieważ jest używany w przeglądarkach, więc ma bardziej widoczną aktywność, wersja robocza redaktorów została ostatnio zmieniona, aby naprawić zgłoszone problemy na początku tego miesiąca http://www.w3.org/Math/draft-spec/appendixf .html # changes.mathml3.02e-3.0 –