Re: FoourierTransform of a function defined in sections
- To: mathgroup at smc.vnet.net
- Subject: [mg70200] Re: FoourierTransform of a function defined in sections
- From: Peter Pein <petsie at dordos.net>
- Date: Sat, 7 Oct 2006 07:07:39 -0400 (EDT)
- References: <eg4soa$ffu$1@smc.vnet.net>
Eckhard Schlemm schrieb:
> Hello,
>
> I want Mathematica to calculate the FourierTransform of a function which is
> defined by Sin[x]^2 for Abs[x]<PI and zero else. I tried and defined the
> function g as follows:
>
> g[x_]:=If[Abs[x]>PI,0,Sin[x]^2];
>
> That works fine. But if I have mathematica try to determine the
> FourierTransform by
>
> FourierTransform[g[x],x,p]
>
> I always get the error that the recursion limit and the iteration limit were
> exceeded...
>
> what am I'm doing wrong?
>
> Any help is appreciated
>
> thanks
>
> Eckhard
>
> --
> _________________________
> Ludwig Schlemm
> Tel: +49 (0) 160 91617114
> LudwigSchlemm at hotmail.com
>
>
Hi Ludwig,
1.) Don't use PI as a variable; it is too similar to the name of the
constant Pi (3.141...).
2.) Mathematica 'prefers' UnitStep or Piecewise (I changed PI to z):
In[1]:=
g[x_] := Sin[x]^2*UnitStep[x + z, z - x]
In[2]:=
tmp = (FullSimplify[#1, Im[p] == 0 && z > 0] & ) /@
Factor[FourierTransform[g[x], x, p]]
Out[2]=
(Sqrt[2/Pi]*(p*Cos[p*z]*Sin[2*z] + (-2 + p^2*Sin[z]^2)*Sin[p*z]))/
((-2 + p)*p*(2 + p))
This has got singularities for p in {-2,0,2}
In[3]:=
lim = (Limit[tmp, p -> #1] & ) /@ {-2, 0, 2}
Out[3]=
{-((4*z - 4*Sin[2*z] + Sin[4*z])/(8*Sqrt[2*Pi])),
(z - Cos[z]*Sin[z])/Sqrt[2*Pi],
-((4*z - 4*Sin[2*z] + Sin[4*z])/(8*Sqrt[2*Pi]))}
In[4]:=
fg[p_] = PiecewiseExpand[
Piecewise[
Apply[
{#1, p == #2} & ,
Transpose[{lim, {-2, 0, 2}}], {1}], tmp]];
You get the same with
In[1]:=
g[x_] := Piecewise[{{Sin[x]^2, -z <= x <= z}}]
etc.
Hope this helps,
Peter