       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:= FullForm[Exp[2 I t]]

Out//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:= Exp[2 I t] /. Exp[Complex[0, n_] t] :> 1/(n^2 - 1) Exp[n I t]

Out= (1/3)*E^(2*I*t)

If n is an exact number other than an integer or rational, such as
Sqrt, then you will need to work a bit harder:

In:= Exp[Sqrt I t] /.
Exp[f_. Complex[0, n_] t] :> 1/((f n)^2 - 1) Exp[f n I t]

Out= (1/2)*E^(I*Sqrt*t)

This latter rule should work in all cases.

Carl Woll
Wolfram Research

```

• Prev by Date: Re: Pattern Matching for Exponentials
• Next by Date: RE: Viewing animations also on RealTime3D
• Previous by thread: Re: Pattern Matching for Exponentials
• Next by thread: Re: Pattern Matching for Exponentials