W3C home > Mailing lists > Public > www-math@w3.org > March 2012

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

From: Peter Murray-Rust <pm286@cam.ac.uk>
Date: Mon, 19 Mar 2012 08:31:52 +0000
Message-ID: <CAD2k14MbDRFW-ubJ_qmeFJUbpiSFF2e1yD8kXC+1-3CW7NtFSQ@mail.gmail.com>
To: Roger Martin <mathmldashx@yahoo.com>
Cc: "www-math@w3.org" <www-math@w3.org>, Andrew Walker <Andrew.Walker@bristol.ac.uk>, Martin Dove <mtd10@cam.ac.uk>, Jens Thomas <jensthomas2@gmail.com>, Mark Williamson <mw529@cam.ac.uk>, Charlotte Bolton <charlotte.bolton@gmail.com>
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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 19 March 2012 08:32:36 GMT