On 8/5/11, Bernard Hurley <bernard at marcade.biz> wrote:
> The derivatives are implemented by rules like:
>
> tellsimp ('diff(xx,t,1),get(xx,dif))
>
> Where xx picks out one of the variables declared in gcoords(x,y,z) - see
> (%i2) - and get(xx,dif) evaluates to x? - it was obtained using
> concat(x,?). msolve calls translates the differential equations into the
> usual maxima form, adds an explicit time dependency and calls desolve.
Bernard, I'll recommend pretty strongly that you separate the
representation of derivative expressions from their display.
It appears that you've constructed an alernate represention for
derivatives, so the usual Maxima operations don't apply to them.
At best you'll need to reinvent some wheels and at worst you or
anyone using your code will get an unpleasant surprise when
these special derivatives don't work the same way as others.
My advice is to work with derivatives in their usual representation
in Maxima. Incidentally there is an add-on package for partial
derivatives called pdiff that might be useful to you.
First work on getting the operations that you want. When you
have the derivatives you want, we can work on getting them
displayed in the manner you want.
best,
Robert Dodier