# Coulomb potential as a Fourier transform

It is well known from theory that the Coulomb potential can be obtained as a Fourier transform in the following way:

$$\int \frac{\mathrm{d}^3p}{\left( 2 \pi \right)^3} \frac{e^{\mathrm{i} \mathbf{p} \cdot \mathbf{r}}}{\mathbf{p}^2+m^2} = \frac{e^{-rm}}{4 \pi r} \hspace{20pt} r \equiv \sqrt{x^2+y^2+z^2}$$

(The mass term is here for mathematical convergence reasons, one can set the mass to zero after the transform. The Fourier transform also has a precise physical meaning, but that's out of the scope of this question.) I am trying to reproduce this result with Wolfram Mathematica; skipping some unnecessary constants I use the following code:

FourierTransform[1/(k*k + q*q + r*r + m*m), {k, q, r}, {x, y, z}]

which does not yield the expected result... I'm not an expert of Mathematica, by any means, but I cannot see why it gets this Fourier transform wrong.

-
If it's not a charade, could you please give use the (unexpected) output? – F'x Apr 17 '12 at 21:41
@F'x In 2D it fails to evaluate the output with the mass term. In 3D it gets stuck for ages thinking and then gives the input as output (not able to solve it, I suppose). I remember that in 2D the mass is not needed for convergence, so I've tried and the output is: 1/2 (-HeavisideTheta[-x] (2 EulerGamma + Log[-x - I y] + Log[-x + I y]) - HeavisideTheta[x] (2 EulerGamma + Log[x - I y] + Log[x + I y])) while I was expecting: $k \ln(r)$ – zakk Apr 17 '12 at 21:44
I'm fine with the logs, but the EulerGamma is completely unexpected! – zakk Apr 17 '12 at 21:46
It often helps to assist Mathematica with a little preliminary analysis. Upon observing the integral is spherically symmetric, you may set $\mathbf{r}=(r,0,0)$ and perform the integration over the first coordinate. (Set $m=0$; you don't need this term for convergence.) The residual symmetry suggests using polar coordinates, in which the integration is immediate and yields $1/(4\pi r)$. – whuber Apr 17 '12 at 22:50

The problem here is that Mathematica doesn't recognize {x, y, z} as some kind of a vector object that should be treated as grouped together; instead, it substitutes in three independent variables, and probably starts integrating them one by one. The result is a very complicated integral.

If you do the coordinate transformation yourself, you can reproduce the result. Simply use $\mathrm dp = \mathrm d\|p\|\|p\|^2\mathrm d\vartheta\sin(\vartheta)$ to transform to spherical. The resulting integral can be calculated:

Assuming[pAbs >= 0 && m > 0 && r > 0,
(1/(2*Pi)^3)*Integrate[ (* phi integral *)
Integrate[ (* |p| integral *)
Integrate[ (* theta integral *)
(Exp[I*r*pAbs*Cos[pTheta]]/(pAbs^2 + m^2))*pAbs^2*Sin[pTheta],
{pTheta, 0, Pi}
],
{pAbs, 0, Infinity}
],
{pPhi, 0, 2*Pi}
]
]

$\dfrac{e^{-mr}}{4\pi r}$

-
I can't reproduce the result, if I copy your code and paste it into a new Mathematica workbook I get: -(Sinh[m r]/(4 [Pi] r)) however, this is clearly the way to go! :-) Answer accepted! – zakk Apr 17 '12 at 23:23
I can't reproduce your irreproducability: i.imgur.com/nhzZ2.png - Did you try evaluating using a fresh kernel? – David Apr 17 '12 at 23:25