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 '16 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$ – Carlo Beenakker Sep 9 '16 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 '16 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 '16 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$ – J. M.'s ennui Oct 4 '16 at 2:06

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 '16 at 23:07
  • $\begingroup$ thank you, Jens, nice to catch up with you here! $\endgroup$ – Carlo Beenakker Sep 13 '16 at 9:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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