Re: Problem with transformation rule of a function
- To: mathgroup at smc.vnet.net
- Subject: [mg53478] Re: Problem with transformation rule of a function
- From: Paul Abbott <paul at physics.uwa.edu.au>
- Date: Thu, 13 Jan 2005 03:59:51 -0500 (EST)
- Organization: The University of Western Australia
- References: <16858.22033.555637.91757@localhost.localdomain> <cs5asu$3r1$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
In article <cs5asu$3r1$1 at smc.vnet.net>,
Alain Cochard <alain at geophysik.uni-muenchen.de> wrote:
> I define an expression:
>
> In[1]:= expr=M[1][t] + M[2][t] + Integrate[M[1][t],t] +
> Integrate[M[2][t],t] + D[M[1][t],t] + D[M[2][t],t];
>
> Out[1]= Integrate[M[1][t], t] + Integrate[M[2][t], t] + M[1][t] +
> M[2][t] +
>
> > (M[1])'[t] + (M[2])'[t]
>
> and then I try 2 transformation rules on this expression:
>
> In[2]:= vers1=expr/.{M[1][t]->f[t], M[2][t]->0}
>
> Out[2]= f[t] + Integrate[f[t], t] + (M[1])'[t] + (M[2])'[t]
>
> In this first one, I get the output I expect for the function and
> integration terms, but not for the derivative ones.
>
> In[3]:= vers2=expr/.{M[1]->f, M[2]->0}
>
> Out[3]= 0[t] + f[t] + Integrate[0[t], t] + Integrate[f[t], t] + f'[t]
f is a (pure) function but 0 is not. In other words 0[x] is not 0. The
zero function is (0 &) or, alternatively, Function[t,0]. If you enter
(0 &)[x]
or
Function[t,0][x]
you get 0.
> In this second version, I get these 0[t] terms for the function and
> integration terms, with which I further have to deal with to achieve
> what I want:
>
> In[4]:= %/.{0[t]->0}
>
> Out[4]= f[t] + Integrate[f[t], t] + f'[t]
>
>
> I would first like to understand why the derivation and integration
> terms are not treated in an identical way, and then I would like to
> know if there is a more elegant way to do what I want in a single
> step.
Writing
expr/.{M[1]->f, M[2]-> (0 &)}
is an elegant way to do what you want in a single step.
Cheers,
Paul
--
Paul Abbott Phone: +61 8 6488 2734
School of Physics, M013 Fax: +61 8 6488 1014
The University of Western Australia (CRICOS Provider No 00126G)
35 Stirling Highway
Crawley WA 6009 mailto:paul at physics.uwa.edu.au
AUSTRALIA http://physics.uwa.edu.au/~paul