Re: simplifying a resulted derivative expression
- To: mathgroup at smc.vnet.net
- Subject: [mg96074] Re: simplifying a resulted derivative expression
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Wed, 4 Feb 2009 05:20:12 -0500 (EST)
- Organization: The Open University, Milton Keynes, UK
- References: <gm9ckc$135$1@smc.vnet.net>
In article <gm9ckc$135$1 at smc.vnet.net>, kem <kemelmi at gmail.com> wrote: > 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? AFAIR, Mathematica displays derivatives differently depending on how many variables the expression has and the order of differentiation (what are these thresholds, I cannot remember nor find them now). You may want to write your own "operator" like in In[2]/Ou[2]. In[1]:= fu = Derivative[0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0][f][ux, uy, vx, vy, wx, wy, u, v, w, x, y] pd[f @@ fu, fu[[Last[Flatten[Position[fu[[0]], 1]]]]]] % /. pd -> D D @@ %% D[f[x], x] Out[1]= (0,0,0,0,0,0,1,0,0,0,0) f [ux, uy, vx, vy, wx, wy, u, v, w, x, y] Out[2]= pd[f[ux, uy, vx, vy, wx, wy, u, v, w, x, y], u] Out[3]= (0,0,0,0,0,0,1,0,0,0,0) f [ux, uy, vx, vy, wx, wy, u, v, w, x, y] Out[4]= (0,0,0,0,0,0,1,0,0,0,0) f [ux, uy, vx, vy, wx, wy, u, v, w, x, y] Out[5]= f'[x] HTH, --Jean-Marc