Bug introduced in 5 or earlier and persisting through 11.3.0

On Mathematica 11.0.0 the Fourier transform of $x\theta(x)$ gives the expected result:

In: FourierTransform[x*UnitStep[x], x, t]
Out: -(1/(Sqrt[2*Pi]*t^2)) - I*Sqrt[Pi/2]*Derivative[1][DiracDelta][t]

But the Fourier transform of $(x-a)\theta(x)$ misses the derivative of a delta function, and does not reduce to the previous answer when $a\rightarrow 0$:

In: FourierTransform[(x - a)*UnitStep[x], x, t]
Out: -(1/(Sqrt[2*Pi]*t^2)) - (I*a)/(Sqrt[2*Pi]*t) - a*Sqrt[Pi/2]*DiracDelta[t]
  • $\begingroup$ Related? $\endgroup$
    – corey979
    Sep 9, 2016 at 16:08
  • 1
    $\begingroup$ @march -- the difference between the first and second integrands is $a\theta(x)$, which is a smooth function of $a$, without any discontinuity at $a=0$, so taking the limit $a\rightarrow 0$ of the integral over $x$ should be fine. $\endgroup$ Sep 9, 2016 at 17:54
  • 2
    $\begingroup$ @march There is clearly an inconsistency if you expect the Fourier transform to be invertible (a fundamental property): InverseFourierTransform[FourierTransform[(x-a) Sign[x],x,t],t,x] doesn't produce the original function back again. So I think it has to be called a bug. $\endgroup$
    – Jens
    Sep 9, 2016 at 18:13
  • 2
    $\begingroup$ Distribution over + should clearly be valid in this case e.g. (FourierTransform[x*UnitStep[x], x, t] - FourierTransform[a*UnitStep[x], x, t]) - FourierTransform[(x - a)*UnitStep[x], x, t] // FullSimplify should be zero, and it is not. This is a bug $\endgroup$
    – mikado
    Sep 11, 2016 at 9:22
  • 1
    $\begingroup$ FWIW, the bug persists even if you replace UnitStep[] with HeavisideTheta[], even if the latter function is supposedly the function intended for use with the built-in integral transforms. $\endgroup$ Oct 4, 2016 at 2:06

1 Answer 1


I've reported the issue to Wolfram and received this response:

Thank you for taking the time to send in this report. It does appear that the inverse Fourier transform of the Fourier transform of a particular function is not behaving properly. In particular it is not giving the original function back, as it should. I will forward an incident report to our developers regarding this issue.

So this is a bug. The case number is CASE:3710457.

  • $\begingroup$ I decided to put the bug report case number in the answer instead of a comment, because this will make it easier to find in the future, in case I get additional feedback... $\endgroup$
    – Jens
    Sep 12, 2016 at 23:07
  • $\begingroup$ thank you, Jens, nice to catch up with you here! $\endgroup$ Sep 13, 2016 at 9:41

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.