Re: simplifying a resulted derivative expression
- To: mathgroup at smc.vnet.net
- Subject: [mg96118] Re: simplifying a resulted derivative expression
- From: Peter Pein <petsie at dordos.net>
- Date: Thu, 5 Feb 2009 04:41:25 -0500 (EST)
- References: <gm9ckc$135$1@smc.vnet.net>
kem schrieb:
> Hi, I have a function f[ux, uy, vx, vy, wx, wy, u, v, w, x, y]
>
> I am doing different manipulations with this function and the results
> I get have expressions like that:
>
> Derivative[0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0][f][ux, uy, vx, vy, wx, wy,
> u, v, w, x, y]
>
> which is difficult to understand. The question is how can I substitute
> automatically the above expression by: fu ?
>
> (it means I need to see that the derivative is taken over the 7th
> argument which is 'u' and write that f is derived with respect to u
> which I want to be written as fu)
>
> Can it be done?
>
> Thanks a lot!
>
Do you mean sth. like
Format[Derivative[dl__][func_][args__]] :=
Subscript[func, Sequence @@
Pick[{args}, {dl}, 1]] /; MatchQ[{dl}, {(0 | 1)..}]
and now try
If you need higher derivatives w.r.t. some variables,
Format[Derivative[dl__][func_][args__]] := Subscript[func,
Sequence @@ Flatten[Apply[Table[#1, {#2}] & ,
Transpose[{{args}, {dl}}], {1}]]]
could be acceptable.
Try
Derivative[0,0,0,0,0,0,1,0,0,0,0][f][ux,uy,vx,vy,wx,wy,u,v,w,x,y]
to get f_u
or
Derivative[0,0,0,0,0,0,1,0,0,1,1][f][ux,uy,vx,vy,wx,wy,u,v,w,x,y]
which prints as f_{u,x,y}
or feed it with higher derivatives
Derivative[0,0,0,0,0,0,1,0,2,2,1][f][ux,uy,vx,vy,wx,wy,u,v,w,x,y]
to get f_{u,w,w,x,x,y}
HTH,
Peter