Направо към съдържанието

OpenMath

от Уикипедия, свободната енциклопедия

OpenMath представлява маркиращ език за описание на съдържанието на математически формули. Той може да се използва за предаване на семантична информация в съчетание с MathML, който е стандарт, основно фокусиращ се върху презентацията на формулите. За кодиране на OpenMath се използват XML и бинарен формат.

OpenMath може да се опише с помощта на две основни понятия:

  • OpenMath обекти – абстрактен тип данни за описание на логическата структура на математическите формули; и
  • Речници за OpenMath – колекция от наименования за математически понятия. Речниците се разработват така, че да са съвзестими с MathML.

OpenMath е разработен по време на серия от работни срещи и (предимно европейски) изследователски проекти, започнали през 1993 и продължаващи до днес. Стандартът OpenMath 1.0 е публикуван през февруари 2000 и ревизиран като OpenMath 1.1 през октомври 2002. Две години по-късно, през юни 2004, е оповествен стандартът OpenMath 2.0. OpenMath 1 определя основната архитектура на езика, докато OpenMath 2 се съсредоточава върху по-добра интеграция с XML формата и съвместимост между различни структури, както и допринася за либерализиране на речниците.

Усилията за развиване на OpenMath се управляват от така нарерчената OpenMath общност, която се намира в Хелзинки, Финландия. Общността включва автори на приложения, софтуерни специалисти, издатели. Членството е чрез покана от Комитета на управителите на общностите (Societies Executive Committee), който приветства лични номинации от хора, които прилагат OpenMath в изследванията или работата си. От 2007 насам Майкъл Колхейс е президент на общността.

Добре познатата формула за решенията на квадратно уравнение:

е представена в OpenMath формат по следния начин (използвана е репрезентация във форма на дърво, възлите на което са различни функционални елементи, например OMA за приложение на функция или OMV за променлива):

<OMOBJ xmlns="http://www.openmath.org/OpenMath">
  <OMA cdbase="http://www.openmath.org/cd">
    <OMS cd="relation1" name="eq"/>
    <OMV name="x"/>
    <OMA>
      <OMS cd="arith1" name="divide"/>
      <OMA>
        <OMS cdbase="http://www.example.com/mathops" cd="multiops" name="plusminus"/>
        <OMA>
          <OMS cd="arith1" name="unary_minus"/>
          <OMV name="b"/>
        </OMA>
        <OMA>
          <OMS cd="arith1" name="root"/>
          <OMA>
            <OMS cd="arith1" name="minus"/>
            <OMA>
              <OMS cd="arith1" name="power"/>
              <OMV name="b"/>
              <OMI>2</OMI>
            </OMA>
            <OMA>
              <OMS cd="arith1" name="times"/>
              <OMI>4</OMI>
              <OMV name="a"/>
              <OMV name="c"/>
            </OMA>
          </OMA>
          <OMI>2</OMI>
        </OMA>
      </OMA>
      <OMA>
        <OMS cd="arith1" name="times"/>
        <OMI>2</OMI>
        <OMV name="a"/>
      </OMA>
    </OMA>
  </OMA>
</OMOBJ>

В дървовидното представяне на израза по-горе, елементи като например <OMS cd="arith1" name="times"/>, представляват математически функции, приложени към своите изрази сестри, заедно с които представляват аргументи към OMA. Значението на елемента OMS се съдържа в атрибута cd, което е препратка към съответната дефиниция на функцията в речника, който от своя страна е зададен като URI в полето cdbase в най-близкия елемент, доминиращ съответния OMS елемент. В горния пример всички символи идват от речника за аритметични функции (arith1), с изключение на plusminus, който идва от нестандартен речник, поради което се налага указването на cdbase.

Речниците за OpenMath за структурирани XML документи, които дефинират математическите символи, използвани от OMS елементите в структурата на OpenMath обекти. OpenMath 2 не дава стриктни указания за съставянето на речници, а единствено определя изискванията за еднозначно определяне на OMS елементите. OpenMath предлага проста форма за XML кодиране, която задоволява указаните изисквания, и колекция от речници за някои области от математиката.

За по-разширени речници и като цяло за нетипични математически речници, форматът OMDoc разширява OpenMath, като добавя две нива: „твърдения“, включвайки структури като дефиниции, теореми, доказателства и примери, както и средства за връзка между тях; и „теоретично ниво“, където теорията е колекция от контекстуално свързани твърдения. Теориите в OMDoc са създадени така, че да бъдат съвместими с речниците за OpenMath, като също така могат да се свързват помежду си с определени типове релации.

  Тази страница частично или изцяло представлява превод на страницата OpenMath в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите. ​

ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни.​