       Re: How can I compute the Fourier transform of a unit disk and a unit ball analytically by using Mathematica?

• To: mathgroup at smc.vnet.net
• Subject: [mg55289] Re: How can I compute the Fourier transform of a unit disk and a unit ball analytically by using Mathematica?
• From: Paul Abbott <paul at physics.uwa.edu.au>
• Date: Fri, 18 Mar 2005 05:34:17 -0500 (EST)
• Organization: The University of Western Australia
• References: <d1bh0j\$lsf\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```In article <d1bh0j\$lsf\$1 at smc.vnet.net>,
Zhou Jiang <jiangzhou_yz at yahoo.com> wrote:

> I am a fresh bird using Mathematica in my research. I am now trying to
> compute the analytic expression of the Fourier transform of a unit disk and a
> unit ball. I hope Mathematica 5.1 can work it out for me just for learning
> purpose. My definition of the Fourier transform is a little different from
> the built in function FourierTransfrom.

No it isn't -- you just need to select the correct FourierParameters.
See below and also http://mathworld.wolfram.com/FourierTransform.html

> I define the Fourier transform as
>
> F(u)=Integrate[f(x) Exp[-I x u], {x, -Infinity, Infity}]
>
> and the 2D Fourier transform is
>
> F(u,v)=Integrate[f(x,y) Exp[-I (x u+y v)], {x,-Infinity,
> Infinity},{y,-Infinity, Infinity}]
>
> and hence 3D Fourier transform is defined as
>
> F(u,v,w)=Integrate[f(x,y,z) Exp[-I(x u+y v+z w)], {x,-Infinity,
> Infinity},{y,-Infinity, Infinity},{z, -Infinity,Infity}]
>
> Therefore, I computed the Fourier transform of the squarewave like
>
> Integrate[Boole[Abs[x]<=1] Exp[- I x u],{x,-Infinity,Infinity}]
>
> and Mathematica 5.1 gave a correct answer  2 sin(u)/u.

You can obtain this using FourierTransform as follows:

FourierTransform[Boole[Abs[x] <= 1], x, u, FourierParameters -> {1, 1}]

> I tried the 2D version of the problem as
>
> Integrate[Boole[x^2+y^2<=1] Exp[-I (x u+y v)],{ x,-Infinity,
> Infity},{y,-Infinity, Infinity}]
>
> and Mathematica cannot work it out any more. I am a little dispressed

A combination of distressed and depressed?

> since this is a very classical problem and the result should be 2 Pi
> J1[Sqrt[u^2+v^2]]/Sqrt[u^2+v^2] where J1 is the usuall Bessel function of
> first order.

To compute this integral a change of variables to polar coordinates is
simplest. Here is one way to obtain this result:

 Change variables:

Simplify[Exp[-I (x u + y v)] /. {x -> r Cos[q], y -> r Sin[q]}]

 Collect the trig functions together:

% /. a_ Cos[q] + b_ Sin[q] :> Sqrt[a^2 + b^2] Cos[q + f]

where f = ArcTan[a,b].

 Since we are integrating over 0 <= q <= 2Pi, the phase, f, is
arbitrary:

% /. f -> 0

Assuming[r > 0 && Sqrt[u^2 + v^2] > 0, Integrate[%, {q, 0, 2 Pi}]]

 Now perform the integration over the unit ball, 0 <= r <=1:

FunctionExpand[Integrate[% r, {r, 0, 1}]]

FunctionExpand[Simplify[%, u^2 + v^2 > 0]]

One obtains the expected result:

2 Pi BesselJ[1, Sqrt[u^2 + v^2]])/Sqrt[u^2 + v^2]

Note that the order of integration is important (to Mathematica): It is
better to perform the q integration before the r integration.

> Of course, Mathematica did not give me any answer for the 3D
> version of the problem. Can anyone give me some idea about how to make it
> work?

In general, R . P = r p Cos[q] where q is the angle between the
n-dimensional vectors R and P and p = Sqrt[P.P]. Using this, one can
easily show that the Fourier Transform of the unit ball in n-dimensions
is

FT[n_] := ((2 Pi^((n - 1)/2))/Gamma[(n - 1)/2]) *
Integrate[r^(n - 1) Assuming[Element[p r, Reals],
Integrate[E^(-I r p Cos[q]) Sin[q]^(n - 2), {q, 0, Pi}]],
{r, 0, 1}]

Moreover, one can then obtain the general result:

(2 Pi)^(n/2) BesselJ[n/2, p]/p^(n/2)

It is probably not reasonable to expect Mathematica to perform the
required change of variables to compute such a result automatically.

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

```

• Prev by Date: Re: Re: Do loops in Mathematica
• Next by Date: Re: Re: GridLines
• Previous by thread: Re: How can I compute the Fourier transform of a unit disk and a unit ball analytically by using Mathematica?
• Next by thread: Distance from point to set