Re: Replace in operators
- To: mathgroup at smc.vnet.net
- Subject: [mg102907] Re: [mg102869] Replace in operators
- From: Jaebum Jung <jaebum at wolfram.com>
- Date: Wed, 2 Sep 2009 04:01:02 -0400 (EDT)
- References: <200909010750.DAA18607@smc.vnet.net>
If f[x] + D[f[x],x] is not evaluated before you apply replacement rule,
you could hold, replace, and release it:
ReleaseHold[Hold[f[x] + D[f[x], x]] /. f[x] -> g[x]]
But if your expression is evaluated, then you might need to add replace
rule for derivative..
For example,
rules[f_, g_, n_] :=
Rule[#1, #2] & @@@
Table[{D[f[x], {x, i}], D[g[x], {x, i}]}, {i, 0, n}]
In[80]:= f[x]+D[f[x],x]+D[f[x],{x,2}]/.rules[f,g,2]
Out[80]= g[x]+(g^\[Prime])[x]+(g^\[Prime]\[Prime])[x]
- Jaebum
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.
>
>
- References:
- Replace in operators
- From: did <didier.oslo@hotmail.com>
- Replace in operators