2012-07-21 35 views
8

Nel mio gruppo di ricerca, ci sono persone diverse che eseguono la modellazione algebrica in diversi strumenti simbolici come Symbolic Toolbox in Matlab e Sympy in Python. Questi modelli vengono quindi tipicamente esportati in C-code e adattati tramite copia nei nostri stessi strumenti simbolici basati su C++ per un'ulteriore manipolazione simbolica.Contenuto MathML vs. OpenMath per lo scambio di modelli

Quando cercavo un'alternativa a questo approccio difficilmente gestibile, ho trovato due formati più o meno standardizzati: OpenMath e "Content MathML". Nota che siamo interessati solo alla semantica, non alla bella stampa.

Qual è la relazione tra questi due formati? Possono essere usati entrambi per memorizzare e scambiare espressioni matematiche tra strumenti?

Esistono ancora altri formati di scambio più o meno standardizzati per le espressioni matematiche?

risposta

5

I formati sono strettamente correlati (e definiti all'incirca nello stesso tempo da un insieme di persone sovrapposte) (sono un editor di entrambe le specifiche MathML e OpenMath, ad esempio). Nella versione corrente di Content MathML (MathML 3) questo è formalizzato molto più che nelle versioni precedenti e tutti gli elementi del contenuto del MathML hanno una semantica in termini di simboli openmath. Quindi, formalmente, l'unica differenza è la sintassi, Content MathML ha un sottoinsieme "strict" che è una codifica formale di OpenMath, oltre a un insieme di elementi di comodità che ricevono regole di riscrittura formali per il sottoinsieme equivalente di OpenMath.

Oltre alla sintassi delle espressioni stesse, se ci si allontana dal set fisso di operatori predefiniti in MathML, è necessario un modo per registrare le definizioni, e qui sia OpenMath che MathML utilizzano lo stesso OpenMath "Contenuto Dizionario "format.

+0

Dato che sei stato parte di entrambi i progetti, sai se entrambi i formati vengono mantenuti attivamente? – Joel

+2

Sì, entrambi vengono mantenuti. In OpenMath la maggior parte del lavoro è dedicata alla progettazione dei dizionari dei contenuti che sono spesso specifici del progetto ma l'ultimo incontro openmath (che non ho potuto ottenere) è stato questo mese al CICM http://www.informatik.uni-bremen.de/ cicm2012/cicm.php e sembra essere andato bene. Il MathML ha un profilo più alto specialmente per la presentazione di mathml come è usato nei browser, quindi ha un'attività più visibile, la bozza degli editori è stata modificata l'ultima volta per risolvere i problemi segnalati all'inizio di questo mese http://www.w3.org/Math/draft-spec/appendixf .html # changes.mathml3.02e-3.0 –