# How to Integrate trivial products of DiracDelta

A long while ago I was able to integrate with Mathematica: $$\int_0^1 \delta(1-x)\delta(x) f(x) \,dx = 0$$ using Integrate[DiracDelta[1-x] DiracDelta[x] f[x], {x, 0, 1}]. Now, it just returns unevaluated. What can I do to make it integrate it?

• don't we need to make some assumption on f to eval this? Suppose f[x]=1/(DiracDelta[1 - x] DiracDelta[x]) Mar 14, 2015 at 15:54

You can split up the interval of integration:

Integrate[DiracDelta[1 - x] DiracDelta[x] f[x], {x, 0, 1/2, 1}]
(*  0  *)


Still, it seems a bit inconvenient.

• I cannot locate any documentation on splitting up the interval of integration. Can you please provide a reference/link to this feature. Thanks. Mar 15, 2015 at 4:08
• @BobHanlon I can't remember how I knew this. You can find an example in the docs for Integrate (search for "contour"). See also mathematica.stackexchange.com/q/20300. Mar 15, 2015 at 12:36

With v10.0.2 it appears to work only for infinite bounds or using NIntegrate

\$Version


"10.0 for Mac OS X x86 (64-bit) (December 4, 2014)"

Integrate[DiracDelta[1 - x] DiracDelta[x] f[x], {x, -Infinity, Infinity}]


0

Integrate[DiracDelta[x, 1 - x]  f[x], {x, -Infinity, Infinity}]


0

NIntegrate[DiracDelta[1 - x] DiracDelta[x] f[x], {x, 0, 1}, AccuracyGoal -> 5]


0.

NIntegrate[DiracDelta[x, 1 - x]  f[x], {x, 0, 1}, AccuracyGoal -> 5]


0.

Indeed, the integral should give zero even with finite bounds. This workaround seems to give the desired result:

Limit[
Integrate[
DiracDelta[1 - x] DiracDelta[x] f[x], {x, ϵ, 1}], ϵ -> 0]

(* ==> 0 *)


But it works only because it effectively cuts off the lower bound and thus the lower delta function.