CellML Discussion List

Text archives Help


[cellml-discussion] Representing derivatives in plain-text content MathML input languages


Chronological Thread 
  • From: matt.halstead at auckland.ac.nz (Matt )
  • Subject: [cellml-discussion] Representing derivatives in plain-text content MathML input languages
  • Date: Mon, 20 Nov 2006 15:31:47 +1300

As a side note, here are the links to the matlab symbolic toolbox -

http://www.mathworks.com/access/helpdesk/help/toolbox/symbolic/

http://www.mathworks.com/products/symbolic/demos.html

look at the documentation on differential equations, Creating Symbolic
Variables and Expressions , and Several Differential Equations

On 11/20/06, Andrew Miller <ak.miller at auckland.ac.nz> 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
>
> _______________________________________________
> cellml-discussion mailing list
> cellml-discussion at cellml.org
> http://www.cellml.org/mailman/listinfo/cellml-discussion
>




Archive powered by MHonArc 2.6.18.

Top of page