Re: Using content-MathML for computation and analysis in Science and Engineering

I have now made progress on my MathCML engine (combined mathematics and
chemistry). I have been much encouraged by this list and hope I may
continue to ask questions - any progress I make is updated at
https://www.bitbucket.org/petermr/mathml.

One of my uses is to chain simple statements sequentially as in a computer
program, such as

x=1
y=2
r=x+y
x=9

and turn it into:

<math> // I shall omit namespaces for brevity
  <apply><eq/><ci>x</ci><cn>1</cn></apply>
  <apply><eq/><ci>y</ci><cn>2</cn></apply>
  <apply><eq/><ci>r</ci><apply><plus/><ci>x</ci><ci>y</ci></apply></apply>
  <apply><eq/><ci>x</ci><cn>9</cn></apply>
</math>

Can I check that this is (a) valid MathML and (b)
stylistically/semantically acceptable MathML?

My understanding of the discussion so far is that the "x" in line 1 may or
may not be the "same as" the "x" in line 3; that MathML is silent on this.
If so it is legitimate for me to assume it is. It is also legitimate for me
to assume it carries the value 1 to line 3 and that "r" could be evaluated
as 3. (It is aso legitimate for others to assert that they don't accept
these semantics). There is also no universal agreed terminology that I can
use to enforce my interpretation. That I have to use a content dictionary
(cd) to make that assertion and that (probably) I have to do this in human
language

If this is agreed then I shall continue on this basis. What are the
potential dangers other than other MATHML users misunderstanding what I am
doing?

More generally my engine will wish to manage objects other than pure maths
objects (e.g. molecules). Can I assume that as long as I simply expose the
symbols and not the detailed structure MathML will not care. For example:

<apply <http://zvon.org/xxl/MathML/Output/el_apply.html>>
     <sum <http://zvon.org/xxl/MathML/Output/el_sum.html>/>
     <bvar <http://zvon.org/xxl/MathML/Output/el_bvar.html>>
          <ci <http://zvon.org/xxl/MathML/Output/el_ci.html>> bond
</ci<http://zvon.org/xxl/MathML/Output/el_ci.html>>

     </bvar <http://zvon.org/xxl/MathML/Output/el_bvar.html>>
     <condition <http://zvon.org/xxl/MathML/Output/el_condition.html>>
          <apply <http://zvon.org/xxl/MathML/Output/el_apply.html>>
               <in <http://zvon.org/xxl/MathML/Output/el_in.html>/>
               <ci <http://zvon.org/xxl/MathML/Output/el_ci.html>>
bond </ci<http://zvon.org/xxl/MathML/Output/el_ci.html>>

               <ci
<http://zvon.org/xxl/MathML/Output/el_ci.html>type="set"> bondSet </
ci <http://zvon.org/xxl/MathML/Output/el_ci.html>>
          </apply <http://zvon.org/xxl/MathML/Output/el_apply.html>>
     </condition <http://zvon.org/xxl/MathML/Output/el_condition.html>>
     <apply <http://zvon.org/xxl/MathML/Output/el_apply.html>>
          <ci <http://zvon.org/xxl/MathML/Output/el_ci.html> type="fn">
bondLength </ci <http://zvon.org/xxl/MathML/Output/el_ci.html>>
          <ci <http://zvon.org/xxl/MathML/Output/el_ci.html>> bond
</ci<http://zvon.org/xxl/MathML/Output/el_ci.html>>

     </apply <http://zvon.org/xxl/MathML/Output/el_apply.html>>
</apply <http://zvon.org/xxl/MathML/Output/el_apply.html>>

will apply the function "bondLength" to a set "bondSet" (which happens to
be a set of bonds)

If so, are they stylistic and semantic conventions I should be aware of?

-- 
Peter Murray-Rust
Reader in Molecular Informatics
Unilever Centre, Dep. Of Chemistry
University of Cambridge
CB2 1EW, UK
+44-1223-763069

Received on Monday, 19 March 2012 08:32:34 UTC