Re: Pattern Matching for Exponentials

*To*: mathgroup at smc.vnet.net*Subject*: [mg67508] Re: [mg67502] Pattern Matching for Exponentials*From*: "Carl K. Woll" <carlw at wolfram.com>*Date*: Thu, 29 Jun 2006 00:09:11 -0400 (EDT)*References*: <200606280752.DAA03521@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Rick Eller wrote: > I am looking for a pattern-matching replacement rule which will > transform exponential functions of the form exp(n i t) into > (1/(n^2-1))exp(n i t) where i = sqrt[-1]. For example, exp(2 i t) > should convert to (1/3)exp(2 i t). I've tried the following code without > success : > > In: Exp[2 i t] /. Exp[n_ i t] -> Exp[n i t]/(n^2-1) > > Out: e^2 i t > > I would appreciate any suggestions as to how this code should be > modified. > > Thanks, > > Rick Eller In cases where pattern matching does not work as expected, you should check the FullForm of the expression: In[5]:= FullForm[Exp[2 I t]] Out[5]//FullForm= Power[E, Times[Complex[0, 2], t]] Your factor of 2 is absorbed into Complex. Integer, rational and inexact numbers get absorbed into Complex, and in these cases the following will work: In[6]:= Exp[2 I t] /. Exp[Complex[0, n_] t] :> 1/(n^2 - 1) Exp[n I t] Out[6]= (1/3)*E^(2*I*t) If n is an exact number other than an integer or rational, such as Sqrt[3], then you will need to work a bit harder: In[8]:= Exp[Sqrt[3] I t] /. Exp[f_. Complex[0, n_] t] :> 1/((f n)^2 - 1) Exp[f n I t] Out[8]= (1/2)*E^(I*Sqrt[3]*t) This latter rule should work in all cases. Carl Woll Wolfram Research

**References**:**Pattern Matching for Exponentials***From:*"Rick Eller" <reller@bigpond.com>