Re: Re: Replace in operators
- To: mathgroup at smc.vnet.net
- Subject: [mg102943] Re: [mg102922] Re: [mg102869] Replace in operators
- From: "Elton Kurt TeKolste" <tekolste at fastmail.us>
- Date: Thu, 3 Sep 2009 05:36:04 -0400 (EDT)
- References: <200909010750.DAA18607@smc.vnet.net>
Andrzej You and I have similar solutions for this problem in your answer #2 f[x] + D[f[x], x] /. {f[x] :> g[x], Derivative[1][f][x] :> Derivative[1][g][x]} except that I used the static replace (->) rather than the dynamic replace (:>). I suspect that I have not fully understood the distinction between -> and :> and, in particular, what advantage or difference :> provides in this case over ->. Why did you select :> over -> in this example? Kurt On Wed, 02 Sep 2009 04:03 -0400, "Andrzej Kozlowski" <akoz at mimuw.edu.pl> wrote: > I think, you can do on of three things: > > 1. > Unevaluated[f[x] + D[f[x], x]] /. f[x] -> g[x] > > Derivative[1][g][x] + g[x] > > or > > 2. > > f[x] + D[f[x], x] /. {f[x] :> g[x], Derivative[1][f][x] :> > Derivative[1][g][x]} > > Derivative[1][g][x] + g[x] > > 3. > > f[x] + D[f[x], x] /. f -> g > > Derivative[1][g][x] + g[x] > > (There are also some variants of 1 and 2 ). > > From what you say, it seems that the first choice (wrapping > Unevaluated around the input) is the most suitable. > > Andrzej Kozlowski > > > > On 1 Sep 2009, at 09:50, did wrote: > > > I can't figure out how to force Mathematica to replace > > f[x] by g[x] in expressions involving operators. > > For example: > > > > f[x] + D[f[x],x] /. f[x] -> g[x] > > > > f is not replaced in the derivative. I found > > somewhere in the manual that the replacement > > does not work on operators, but then it does > > not indicate how to do it. > > > > In my real problem, f[x]->g[x] is a (long) > > list of complicated transformations resulting > > from the resolution of many equations. > > Thus, changing f[x]->g[x] by f->g is not > > an option. > > > > f[x] + D[f[x],x] is actually a complicated > > expression involving many operators. > > > > There are no ways I can do the > > substitution by hand, bit by bit. > > > > Any suggestions ? > > Thanks > > > > PS: it may help to precise the context. > > I'm trying to solve a system of PDEs by > > a small parameter expansion. Solving the > > system at order N, I want to re-inject the > > results into the equations at order N+1. > > > > Regards, Kurt Tekolste
- References:
- Replace in operators
- From: did <didier.oslo@hotmail.com>
- Replace in operators