When I integrate the product of two DiracDelta functions, I get a single DiracDelta, i.e.,

Integrate[DiracDelta[x-y] DiracDelta[x-z],{x,-Infinity,Infinity}] = DiracDelta[y-z]

as expected.

However, sometimes the integral of a product of DiracDelta functions does not give the correct result. For instance one would expect:

Integrate[DiracDelta[u+z(1-x)] DiracDelta[v-z y], {z,-Infinity,Infinity}] = DiracDelta[v(1-x)+u y]

but instead gets a convergence error:

"Integral of ... does not converge on {-infinity, infinity}".

The strange thing is, if you write this integral changing $x \to 1-x$, then you get the expected result:

Integrate[DiracDelta[u+z x] DiracDelta[v-z y], {z,-Infinity,Infinity}] = DiracDelta[v x+u y]

What's going on?

  • $\begingroup$ Thank you David for editing my post to make it look better. $\endgroup$ Feb 16, 2018 at 22:45
  • 1
    $\begingroup$ Well, I am not trying to consider whether diracdelta is mathematically well-defined object or not. Im merely saying it has an explicit rules and expected behaviors under integral, and mathematica seems to have a buggy features. $\endgroup$ Feb 17, 2018 at 5:22
  • 4
    $\begingroup$ If you are disturbed by it, then just consider the delta function as a limit definition of exponent. Whether you are uncomfortable with Integrate[DiracDelta[x],{x,0,1}] = 1 or not, that is what I am 'assuming' to be true and I do not want to debate any issues about distributions. Your points are beyond the issues of mathematica pointed out here. $\endgroup$ Feb 17, 2018 at 5:37
  • 2
    $\begingroup$ @user64494 the product of distributions with disjoint singular support is perfectly well-defined. Such is the case of the distributions in the OP. $\endgroup$ Feb 17, 2018 at 16:32
  • 2
    $\begingroup$ @user64494 I said mollified, not modified. Have a look at the wikipedia page if you want. And no, I did not contact Mykytyuk, and I have no intention of doing so. I don't think they want any kind of unsolicited email from internet strangers, asking about very basic distribution theory facts. $\endgroup$ Apr 29, 2018 at 19:46

1 Answer 1


Dirty workaround:

integrand = DiracDelta[u + z (1 - x)] DiracDelta[v - z y];
Integrate[integrand /. x -> x + 1, {z, -Infinity, Infinity}] /. x -> (x - 1)

(* DiracDelta[v (1 - x) + u y] *)

A safer option, which should work quite generically, is

integrand = DiracDelta[u + z (1 - x)] DiracDelta[v - z y];
Integrate[integrand /. DiracDelta[a_ + b_ z] :> 1/Abs[b] DiracDelta[a/b + z], {z, -Infinity, Infinity}] /. 1/Abs[b_] DiracDelta[a_] :> DiracDelta[a b] // Simplify

(* DiracDelta[v - v x + u y] *)


More generally, the problem seems to be with the structure $1\pm A$, where $A$ may be either symbolic or numeric. For example, the integral

Integrate[DiracDelta[u + z (1 + \[Pi])] DiracDelta[v - z y], {z, -Infinity, Infinity}]

is also returned unevaluated. On the other hand

Integrate[DiracDelta[u + z E] DiracDelta[v - z y], {z, -Infinity, Infinity}]

(* DiracDelta[E v + u y] *)

is calculated correctly.

  • $\begingroup$ Comments are not for extended discussion; this conversation has been moved to chat. $\endgroup$
    – Kuba
    Apr 29, 2018 at 18:11

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.