Konrad Hinsen wrote: (25/02/14 10:07)
[...]
For the particular case of "sum", I find the definition in arith1 a
bit vague:

    An operator taking two arguments, the first being the range of
    summation, e.g. an integral interval, ...

There is no definition of "range of summation", just an example. You use a
set in your example, which is fine, but there's nothing in the definition
of "sum" that tells me that sets are a valid specification for a "range of
summation".

Which leads to another question: is there any validation tool for
OpenMath that checks the semantics? The XML schemas and the XSLT
stylesheet from the OpenMath Web site only check syntactical aspects,
they won't stop me from using transc1/sin as a summation range, for
example.

  I'm not aware of any validation tool, but you can check the Simple
Type System (STS) used for symbol signatures in the OM CDs.
http://www.openmath.org/cd/sts.xhtml

  For instance, arith1:sum has:

http://www.openmath.org/sts/arith1.xhtml#sum

  I always used integer intervals for it in all the OM software I wrote.
  For instance in Yacas, $\sigma_{i=1}^3 i^2$ is:

http://yacas.sourceforge.net/refchapter6.html#Sum

In> OMForm(Sum(i, 1, 3, i^2));
<OMOBJ>
  <OMA>
    <OMS cd="arith1" name="sum"/>
    <OMA>
      <OMS cd="interval1" name="integer_interval"/>
      <OMI>1</OMI>
      <OMI>3</OMI>
    </OMA>
    <OMBIND>
      <OMS cd="fns1" name="lambda"/>
      <OMBVAR>
        <OMV name="i"/>
      </OMBVAR>
      <OMA>
        <OMS cd="arith1" name="power"/>
        <OMV name="i"/>
        <OMI>2</OMI>
      </OMA>
    </OMBIND>
  </OMA>
</OMOBJ>
Out> True
In> N(Sum(i, 1, 3, i^2));
Out> 14

  For the double sum you mentioned, that would be nested:

In> OMForm(Sum(j, -2, 5, Sum(i, 1, 3, j+i^2)));
<OMOBJ>
  <OMA>
    <OMS cd="arith1" name="sum"/>
    <OMA>
      <OMS cd="interval1" name="integer_interval"/>
      <OMA>
        <OMS cd="arith1" name="minus"/>
        <OMI>2</OMI>
      </OMA>
      <OMI>5</OMI>
    </OMA>
    <OMBIND>
      <OMS cd="fns1" name="lambda"/>
      <OMBVAR>
        <OMV name="j"/>
      </OMBVAR>
      <OMA>
        <OMS cd="arith1" name="sum"/>
        <OMA>
          <OMS cd="interval1" name="integer_interval"/>
          <OMI>1</OMI>
          <OMI>3</OMI>
        </OMA>
        <OMBIND>
          <OMS cd="fns1" name="lambda"/>
          <OMBVAR>
            <OMV name="i"/>
          </OMBVAR>
          <OMA>
            <OMS cd="arith1" name="plus"/>
            <OMV name="j"/>
            <OMA>
              <OMS cd="arith1" name="power"/>
              <OMV name="i"/>
              <OMI>2</OMI>
            </OMA>
          </OMA>
        </OMBIND>
      </OMA>
    </OMBIND>
  </OMA>
</OMOBJ>
Out> True
In> N(Sum(j, -2, 5, Sum(i, 1, 3, j+i^2)));
Out> 148

  In my editor that would be as follows:
http://matracas.org/sentido/demo/index.xhtml#%E2%88%91%28-2..5,%CE%BBj.%E2%88%91%281..3,%CE%BBi.j+i^2%29%29

  You can click twice on the sum button (the palettes will scroll
down because of the variables added to the expression) to get a
nested sum, then rename the variables by hand.

  It is possible to enter it in the form described by Lars,
using a set, but my MathML stylesheets don't support it so far:
http://matracas.org/sentido/demo/index.xhtml#%E2%88%91%28cartesian_product%28X,Y%29,%CE%BB[i,j].i*j%29

  Cheers,
--
    Alberto González Palomo
    Toledo, España / Saarbrücken, Deutschland
    http://www.matracas.org
_______________________________________________
Om mailing list
[email protected]
http://openmath.org/mailman/listinfo/om

Reply via email to