Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to find 2D-Fourier transformation of the function given below

f = HeavisideTheta[y1]*HeavisideTheta[y2 - y1]

For the purpose, I use built-in function in two ways as below,

FourierTransform[f, {y2, y1}, {q2, q1}] 
FourierTransform[f, {y1, y2}, {q1, q2}] 

The outputs are different depending on the order of variables. Please, See below.

-(1/(2 π q1 q2 + 2 π q2^2)) + (I DiracDelta[q2])/(2 q1) + 
(I DiracDelta[q1 + q2])/(2 q2) + 1/2 π DiracDelta[q2] DiracDelta[q1 + q2]

-(1/(2 π q1 q2 + 2 π q2^2)) + (I DiracDelta[q2])/(2 q1) - (I DiracDelta[q1 + q2])/(2 q1)

I thought they should be same. I don't know why they are different.

Please help me to figure out which one is correct.

share|improve this question
I think this is a bug. If you do a one dimensional transformation from the time domain to the frequency domain of a standard function with a HeavisideTheta you get a DiracDelta in addition to the correct result. Could an expert confirm that you cannot have a DiracDelta in the frequency domain where functions are analytic except at poles and branch points. A work around could be to use the Laplace transform and convert the answer. – Hugh Mar 5 '14 at 12:34
Try defining g[y1_, y2_] = HeavisideTheta[y1]*HeavisideTheta[y2 - y1] and see if you get what you expect. – b.gatessucks Mar 5 '14 at 12:52
I guess it might be related to this and this. – xzczd Mar 6 '14 at 8:24

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.