- From: Matt <matt.halstead@auckland.ac.nz>
- Date: Mon, 20 Nov 2006 15:31:47 +1300
- To: "For those interested in contributing to the development of CellML." <cellml-discussion@cellml.org>
- Cc: www-math@w3.org
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@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@cellml.org > http://www.cellml.org/mailman/listinfo/cellml-discussion >
Received on Monday, 20 November 2006 02:31:51 UTC