Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Defining a total derivative

  • To: mathgroup at smc.vnet.net
  • Subject: [mg127788] Re: Defining a total derivative
  • From: "Dr. Wolfgang Hintze" <weh at snafu.de>
  • Date: Wed, 22 Aug 2012 05:19:21 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net
  • References: <k0nh82$avi$1@smc.vnet.net> <k11tv8$t7e$1@smc.vnet.net>

On 22 Aug., 08:24, S16 <sowna... at gmail.com> wrote:
> On Saturday, August 18, 2012 8:46:10 AM UTC+1, S16 wrote:
> > Hi,
>
> > I am very new to Mathematica, so need a bit of help!
>
> > I want to define a function (called say G) that is defined as
>
> > G = =E2=88=82/=E2=88=82x - ((=E2=88=82F/=E2=88=82x)/(=E2=88=82F/=E2=88=82=
>
> > y))*=E2=88=82/=E2=88=82y
>
> > Where F is some other function which will be defined.
>
> > So as you can see, G is a differenital operator. Want to define it so that I can just do G[ some function ] rather than repeatedly write out the whole thing.
>
> > Any help at all would be awesome!
>
> > -S16
>
> Sorry, my message came out formatted all wrong. I have actually managed to solve this issue- but have a different question.
>
> Say I have defined an operator G, which involves partial derivatives in x and y
>
> and I want to find expressions for G[G[ ]] , G[G[G[ ]]] - applying the operator multiple times. is there a way to define this on Mathematica (I want to put this in a package).
>
>

Let's take an example.

Define the operator g as

In[7]:= g = D[#1, x] + D[#1, y] &

Out[7]= D[#1, x] + D[#1, y] &

Test it

In[8]:= g[x + y]

Out[8]= 2

Chose a non trivial funcion

In[20]:= f = Sin[x*y]

Out[20]= Sin[x*y]

Now iterate g and apply it immediately to f

In[22]:= g[g[f]]

Out[22]= 2*Cos[x*y] - x^2*Sin[x*y] - 2*x*y*Sin[x*y] - y^2*Sin[x*y]

But this can be achieved more generally using Nest

In[23]:= Nest[g, f, 2]

Out[23]= 2*Cos[x*y] - x^2*Sin[x*y] - 2*x*y*Sin[x*y] - y^2*Sin[x*y]

Now the step you wanted. Definiting the interation of g without
applying it immediately.

In[27]:= gi[k_] := Nest[g, #1, k] &

Test it

In[28]:= gi[2][f]

Out[28]= 2*Cos[x*y] - x^2*Sin[x*y] - 2*x*y*Sin[x*y] - y^2*Sin[x*y]

Now the third iteration

In[29]:= gi[3][f]

Out[29]= (-x^3)*Cos[x*y] - 3*x^2*y*Cos[x*y] - 3*x*y^2*Cos[x*y] -
 y^3*Cos[x*y] - 6*x*Sin[x*y] - 6*y*Sin[x*y]

Best regards,
Wolfgang



  • Prev by Date: Non-sequential composition of pure functions
  • Next by Date: Re: Problem with NIntegrate
  • Previous by thread: Defining a total derivative
  • Next by thread: Re: Defining a total derivative