I noticed that if I run:



      Simplify[DiracDelta[x+y] - DiracDelta[-(x+y)]]

Mathematica returns zero, as it should since the DiracDelta is an even "function" (distribution). However, if I instead run:

      Simplify[DiracDelta[x-y] - DiracDelta[-(x-y)]]

it does not simplify to zero. My first question is: is there a good reason why not (i.e., some weird scenario in which this wouldn't evaluate to zero under a well-defined integral)?

Secondly, is there an simple way to convince Mathematica to simplify expressions of this form, using the fact that the DiracDelta is even? (For example, I started creating a rule to tell Mathematica to use the evenness of the DiracDelta to make it always have the form delta[x1...] instead of delta[-x1...], and then simplify can do its work. But may be there are better ideas?)


  • $\begingroup$ FullForm on the respective DiracDeltas might give a hint. $\endgroup$ – corey979 Oct 21 '16 at 0:29

You can solve this as follows:

Assuming[y ∈ Reals, 
  InverseFourierTransform[(DiracDelta[y - x] - DiracDelta[x - y]), x, k], k, x]]

(* ==> 0 *)

Here I wrapped the expression in a Fourier transform and its inverse. But I also had to add the assumption that y is real. Part of the explanation for why Simplify doesn't work and why my solution works is given in this answer: Why doesn't FullSimplify simplify expressions with DiracDelta?.

But in this particular example it was also necessary to add the Assuming. This isn't easy to explain logically because if you change the minus sign between the delta functions to a plus sign, you get the correct simplification even with the original approach,

Simplify[(DiracDelta[y - x] + DiracDelta[x - y])]

(* ==> 2 DiracDelta[x - y] *)
| improve this answer | |
  • $\begingroup$ This is an elegant work around- better than mine- but this doesn't explain, though, why Simplify works on x+y but not x-y. If the issue is that Mathematica is can't do anything because it needs to know which entry in the DiracDelta is the intended integration variable, then the two cases shouldn't be any different. $\endgroup$ – Lauren Pearce Oct 21 '16 at 5:05
  • $\begingroup$ You're right, the explanation is not the same, so this isn't a duplicate of the question I linked above. I edited the answer to address this further, but I don't have a definitive explanation. $\endgroup$ – Jens Oct 21 '16 at 5:54

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.