Re: Higher order total derivatives
- To: mathgroup at smc.vnet.net
- Subject: [mg81583] Re: Higher order total derivatives
- From: dh <dh at metrohm.ch>
- Date: Fri, 28 Sep 2007 02:13:54 -0400 (EDT)
- References: <fdf2qh$2ik$1@smc.vnet.net>
Hi Janus, Mathematica is a pattern matcher. The pattern Dt[x, {t, 2}] does not appear in your definitions. Specifically, it is not interpreted as Dt[Dt[x,t],t]. Therefore, you must a give a rule that unravels Dt[x,{t,2}]. E.g.: Unprotect[Dt]; Dt[x_,{t,0}]:=x; Dt[x_,{t,n_}]:=Dt[Dt[x,t],{t,n-1}]; I associate the rule with Dt because t is too deeply nested for an association. hope this helps, Daniel janus wrote: > I am trying to avoid explicit specifying functional dependencies on > time in a dynamical system. > Total derivatives (Dt) seems like the right thing, but I can't get > Mathematica to make the right inferences for higher order derivatives. > > Consider a simple example: > > Block[{a, v, x, t}, > t /: Dt[v, t] = a; > t /: Dt[x, t] = v; > Dt[x, {t, 2}] > ] > > Output: > > Dt[x, {t, 2}] > > What would I have to do to make Dt[x,{t,2}] come out as "a"? > > Nest[Dt[#, t] &, x, 2] gives the right answer, but I would rather not > have to go this way > > /Janus > >