W3C home > Mailing lists > Public > www-math@w3.org > November 2006

Re: Representing derivatives in plain-text content MathML input languages

From: Paul Libbrecht <paul@activemath.org>
Date: Mon, 20 Nov 2006 12:28:07 +0100
Message-ID: <45619147.2050603@activemath.org>
To: Andrew Miller <ak.miller@auckland.ac.nz>
Cc: "For those interested in contributing to the development of CellML." <cellml-discussion@cellml.org>, www-math@w3.org
I know this is probably too much ressembling the content-mathml (and 
OpenMath) structure but here's a proposal:
    (t |-> x)'
I somewhat find it neat and easy to understand but clearly not usual.

I believe there should also be space for dt/dx (with or without bracket) 
yielding a different content-mathml expression maybe.

paul

Andrew Miller wrote:
>
> Hi all,
>
> I have been developing a plain-text input language for the content 
> MathML in CellML documents (so that it can be efficiently edited by 
> users).
>
> I am seeking opinions on the best way to represent derivatives 
> (including partials) in the input language.
>
> I have discussed this with the CellML team at the meeting today, and 
> several options were suggested. I would welcome opinions on which of 
> these options is the best, and I would also be keen to hear if you can 
> think of another different but better representation in input languages.
>
> All examples refer to the representation of the following content MathML:
> <apply><eq/>
>  <apply><diff/>
>    <bvar><ci>t</ci></bvar>
>    <ci>x</ci>
>  </apply>
>  <ci>y</ci>
> </apply>
>
> Option one:
>  Representation: diff(x, t) = y.
>  Advantages:
>   * Succinct.
>   * Follows the same syntax as functions in the rest of the language, 
> so makes it less complex and easier to understand.
>   * Easily generalises to partial differentials by replacing diff with 
> partialdiff or pdiff.
>  Disadvantages:
>   * Non-obvious to new users: does diff mean differential, difference, 
> ...?
>   * It is unclear to the user what the ordering of x after t means, 
> i.e. which is the bound variable, so you just have to remember that 
> the second 'argument' is the bound variable.
>
>
> Option two:
>  Representation: deriv(x, t) = y
>  Similar advantages as option one, but also:
>  Advantages:
>  * Slightly less potential for confusion.
>  Disadvantages:
>  * Slightly longer.
>
> Option three:
>  Representation: differential(x, t) or derivative(x, y)
>  Similar advantages as option one, but also:
>  Advantages:
>  * Clearer meaning.
>  Disadvantages:
>  * Longer. UIs could simplify input of this by tab-expansion or 
> type-ahead features.
>
> Option four:
>  Representation: d(x)/d(t)
>  Advantages:
>  * Similarity to Leibniz notation (arguably more clear meaning)
>  * Clear distinction between the bound variable and the expression 
> that the differential is being applied to.
>  Disadvantages:
>  * Syntax is inconsistent with the rest of the grammar.
>  * It incorrectly suggests that differentials could be moved around, 
> while in reality it is a limited syntax for derivatives.
>  * Extending it to partial differentials could look messy and 
> confusing, e.g. del(x)/del(t) .
>
> Any opinions are welcome.
>
> Best regards,
> Andrew Miller
>
>


Received on Monday, 20 November 2006 11:28:26 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Saturday, 20 February 2010 06:12:59 GMT