Можно ли сравнить объекты OpenMath с другими с точки зрения равенства? - PullRequest
0 голосов
/ 22 февраля 2019

Я на самом деле заинтересован в сравнении двух OpenMath-объектов друг с другом с точки зрения равенства (несмотря на то, что он немного отличается в XML) с помощью Java.

Например, я хочу "x ^ 2 + 2x-35 = 0 "равно" -35 + 2x + x ^ 2 = 0 ".

Так что мне интересно, есть ли способ достичь этого.По крайней мере, я понимаю OpenMath как некую древовидную структуру и подумал, что может быть способ их сравнить.

Я уже пытался написать выражения для этих двух уравнений, но в итоге не получилось ни удачи, ни хорошей идеи.

Equation 1: x^2+2x-35=0
<OMOBJ xmlns='http://www.openmath.org/OpenMath' version='2.0' cdbase='http://www.openmath.org/cd'>
    <OMA>
        <OMS cd='relation1' name='eq'/>
        <OMA>
            <OMS cd='arith1' name='minus'/>
            <OMA>
                <OMS cd='arith1' name='plus'/>
                <OMA>
                    <OMS cd='arith1' name='power'/>
                    <OMV name='x'/>
                    <OMI>
                        2
                    </OMI>
                </OMA>
                <OMA style='invisible'>
                    <OMS cd='arith1' name='times'/>
                    <OMI>
                        2
                    </OMI>
                    <OMV name='x'/>
                </OMA>
            </OMA>
            <OMI>
                35
            </OMI>
        </OMA>
        <OMI>
            0
        </OMI>
    </OMA>
</OMOBJ>

Equation 2: -35+2x+x^2
<OMOBJ xmlns='http://www.openmath.org/OpenMath' version='2.0' cdbase='http://www.openmath.org/cd'>
    <OMA>
        <OMS cd='relation1' name='eq'/>
        <OMA>
            <OMS cd='arith1' name='plus'/>
            <OMA>
                <OMS cd='arith1' name='unary_minus'/>
                <OMI>
                    35
                </OMI>
            </OMA>
            <OMA style='invisible'>
                <OMS cd='arith1' name='times'/>
                <OMI>
                    2
                </OMI>
                <OMV name='x'/>
            </OMA>
            <OMA>
                <OMS cd='arith1' name='power'/>
                <OMV name='x'/>
                <OMI>
                    2
                </OMI>
            </OMA>
        </OMA>
        <OMI>
            0
        </OMI>
    </OMA>
</OMOBJ>

Спасибо за ваше время

С уважением

Фу

...