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.

  • $\begingroup$ If it's not a charade, could you please give use the (unexpected) output? $\endgroup$
    – F'x
    Commented Apr 17, 2012 at 21:41
  • $\begingroup$ @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)$ $\endgroup$
    – zakk
    Commented Apr 17, 2012 at 21:44
  • $\begingroup$ I'm fine with the logs, but the EulerGamma is completely unexpected! $\endgroup$
    – zakk
    Commented Apr 17, 2012 at 21:46
  • 4
    $\begingroup$ 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)$. $\endgroup$
    – whuber
    Commented Apr 17, 2012 at 22:50

1 Answer 1


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}$

  • $\begingroup$ 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! $\endgroup$
    – zakk
    Commented Apr 17, 2012 at 23:23
  • 3
    $\begingroup$ I can't reproduce your irreproducability: i.imgur.com/nhzZ2.png - Did you try evaluating using a fresh kernel? $\endgroup$
    – David
    Commented Apr 17, 2012 at 23:25
  • $\begingroup$ Thank you this was really helpful to solving Fourier transform in Jacobi Polynomial $\endgroup$ Commented Dec 16, 2019 at 20:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.