Trouble with Fourier transform of Exp[-Sqrt[x]]

First time trying to do something “real” in Mathematica,
I am having trouble getting it to calculate this Fourier transform.
It runs for a long time, then just prints the input expression.

FourierTransform[ Exp[-Sqrt[Wx x^2 + Wy y^2 + Wz z^2]],
{x, y, z}, {u, v, w},
Assumptions -> {x ∈ Reals, y ∈ Reals,
z ∈ Reals,
Wx ∈ Reals, Wy ∈ Reals, Wz ∈ Reals,
Wx > 0, Wy > 0, Wz > 0}

I also tried it as an integral.

I am sure the problem is in me, not in mathematica.




I also have had some problems (using Mathematica 10.0.1) on this and related examples. I’ll post either an answer to this, or a separate question when I have time to look further.
– DumpsterDoofus
Oct 25 ’14 at 22:31



I’d like to point out that a scaling of variables allows you to reduce this to the Fourier-Bessel Transform of a decaying exponential, which can then be converted into the reciprocal space profile by a scaling. I’ll post this as a partial answer in a while.
– DumpsterDoofus
Oct 25 ’14 at 22:39



I had also tried adding a constant ‘a’, meaning (briefly) f(r)=exp(- W r + a), which would be a suitable answer in my application if ‘a’ is set to a small value. Thinking that this would fix the singularity in the derivative at the origin. It also did not work.
– bullwinkle
Oct 26 ’14 at 0:47


1 Answer


Mathematica’s FourierTransform can be a bit difficult at times, so I’ll let someone else address whether your code can be tweaked to work, and instead show how to do it symbolically. Defining
\sqrt{w_x} & 0 & 0 \\
0 & \sqrt{w_y} & 0 \\
0 & 0 & \sqrt{w_z} \\
note that
By the scaling property
where F\mathcal{F} is the Fourier transform and AA is any matrix, it suffices to compute F(exp(−|r|),r,k).\mathcal{F}\left(\exp\left(-|\mathbf{r}|\right),\mathbf{r},\mathbf{k}\right).
Since exp(−|r|)\exp\left(-|\mathbf{r}|\right) is spherically symmetric, we obtain the spherical Bessel transform
F(exp(−|r|),r,k)=∫∞04πj0(|k|r)r2exp(−r)dr=8π(|k|2+1)2\mathcal{F}\left(\exp\left(-|\mathbf{r}|\right),\mathbf{r},\mathbf{k}\right)=\int_0^\infty 4\pi j_0\left(|\mathbf{k}|r\right)r^2\exp(-r)dr=\frac{8\pi}{\left(|\mathbf{k}|^2+1\right)^2}
giving the final desired result



Thank you, this is very helpful.
– bullwinkle
Oct 26 ’14 at 0:44



@bullwinkle: One minor note: the Fourier transform definition in the linked article is nonunitary, whereas Mathematica’s definition of FourierTransform is unitary, so you should include an extra factor of (2π)−3/2(2\pi)^{-3/2} (I think).
– DumpsterDoofus
Oct 26 ’14 at 0:47



Doofus did you use Mathematica for the Bessel integral? If so could you post your code? I am trying this… Integrate[ 4 Pi BesselJ[0, Sqrt[u^2 + v^2] r] Exp[-r] r^2, {r, 0, Infinity}, Assumptions -> {r [Element] Reals, u [Element] Reals, v [Element] Reals, u >= 0, v >= 0} ]
– bullwinkle
Oct 26 ’14 at 1:20



@bullwinkle: They’re spherical Bessel functions jn(z)j_n(z), not ordinary Bessel functions J_n(z)J_n(z) (see the article I hyperlinked in my answer). In this case j_0(z)=\text{sinc}(z)=\sin(z)/zj_0(z)=\text{sinc}(z)=\sin(z)/z. I used 4 \[Pi] Integrate[(E^-r r Sin[k r])/k, {r, 0, \[Infinity]}, Assumptions -> k > 0].
– DumpsterDoofus
Oct 26 ’14 at 2:06