Re:Derivative

*To*: mathgroup <mathgroup at yoda.physics.unc.edu>*Subject*: Re:Derivative*From*: HAY at leicester.ac.uk*Date*: Fri, 31 JUL 92 10:09:54 GMT

> I had the following behaviour: > Derivative[n_][F]:=FU[n] > Derivative[n_][G][x_]:=GU[n][x] > {F''[y], G''[y] } > Is there a reason for this ? > michael trott > trott at physik.th-ilmenau.de In[] Derivative[n_][F]:=FU[n] Derivative[n_][G][x_]:=GU[n][x] {F''[y], G''[y] } Out[] {(FU[1])'[y], GU[2][y]} Then values (SubValues) stored for Derivative can be examined: ??Derivative f' represents the derivative of a function f of one argument. Derivative[n1, n2, ...][f] is the general form, representing a function obtained from f by differentiating n1 times with respect to the first argument, n2 times with respect to the second argument, and so on. Derivative[n_][F] := FU[n] Derivative[n_][G][x_] := GU[n][x] The right sides of these rules must be taken literally; so the evaluations of F''[y] and G''[y] follow the routes F''[y] -> (F')'[y] -> (FU[1])'[y] G''[y] -> (G')'[y] -> G''[y] -> GU[2][x] The interesting feature here is the initial decomposition of F''to (F')' BEFORE ANY RULES ARE LOOKED FOR (similarly for G''). This means that F' is reached first and replaced rather than F''. But for G the rule is for Derivative[n_][G][x_] not just Derivative[n_][G]; and so can only be used when G''[2] has been reconstructed. The usefulness of this evaluation procedure can be seen in the following,where the second derivative of H is set. In[] H'' = HU[2]; In[] H'''[y] Out[] (HU[2])'[y] The evaluation follows the route H'''[y] -> ((H')')'[y] -> (H'')'[y] -> (HU[2])'[x] Of course this means that any assignment of the third derivative is unused: In[] H''[3] = HU[3]; H'''[y] Out[] (HU[2])'[y] Allan Hayes Department of Mathematics The University Leicester LE1 7RH U.K. hay at leicester.ac.uk