- From: Paul Libbrecht <paul@activemath.org>
- Date: Mon, 20 Nov 2006 12:28:07 +0100
- 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
- Message-ID: <45619147.2050603@activemath.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 UTC