# Fullsimplify with two Diracdelta functions

I am having a problem with the FullSimplify and DiracDelta functions. When I run the following line in mathmatica:

Assuming[x >= 0 && y > 1, FullSimplify[DiracDelta[x]*DiracDelta[x - y]]]


the results is:

DiracDelta[x] DiracDelta[x - y]

while I expect 0. Any clue how to solve this problem?

• This reply is totally confusing. No matter how you interpret the dirac function, the mathmatical equality above is correct.
– A.J.
Commented Dec 9, 2018 at 15:57
• @user64494 But we're in Mathematica, not mathematics. Commented Dec 9, 2018 at 17:14
• @user64494 The result $\delta(x)=0$ for $x>0$ makes perfect sense. It means that $\delta[f]=0$ for all $f$ whose support is $x>0$. Just because you don't understand a concept does not mean that the concept itself makes no sense. Please stop making comments on every post that contain the words "Dirac delta", especially wrong comments. Commented Dec 9, 2018 at 18:42
• @user64494 No, the support need not be compact (recall that $\delta$ is tempered). A Schwartz function is a smooth function such that $|P\partial_\alpha f|<\infty$ for all multi-indices $\alpha$ and all polynomials $P$. For example, a gaussian function is Schwartz, and its support is all of $\mathbb R$. Moreover, $\mathrm{sup}(f)\subset \{x>0\}$ does not mean that the support is not compact. For example, $\mathrm{sup}(f)=[1,2]$ is both compact and in $x>0$. These are traditional results; any reference should do. Commented Dec 9, 2018 at 18:59
• @user64494 A "typical space of test functions" is not the only possibility. Note that I said tempered. If you don't know basic distribution theory, don't post comments trying to correct others. It is obnoxious. Commented Dec 9, 2018 at 19:14

Within Mathematica, DiracDelta makes only sense within Integrate (or integral transforms such as FourierTransform. And a product of DiracDelta makes only sense in a multidimensional setting:

Assuming[x >= 0 && y > 1,
Integrate[DiracDelta[x] DiracDelta[x - y] f[x], {x, -2, 2}]
]


returns

If one uses two-dimensional integration and incorporates the assumptions into the integration, one obtains the desired results:

Integrate[ DiracDelta[x] DiracDelta[x - y] f[x, y], {x, 0, ∞}, {y, 1, ∞}]
Integrate[ DiracDelta[x] DiracDelta[x + y] f[x, y], {x, 0, ∞}, {y, 1, ∞}]


0

0

By the way, Mathematica seem to interpret functions in the integrant as functions that are compactly support in the interior of the integration domain:

Integrate[DiracDelta[x] DiracDelta[x - y] f[x, y], {x, 0, ∞}, {y, 0, ∞}]
Integrate[DiracDelta[x] DiracDelta[x - y] f[x, y], {x, -ϵ, ∞}, {y, -ϵ, ∞},
Assumptions -> ϵ > 0]


This can lead to wrong results when integration function that do not vanish on the domain of integration:

Integrate[DiracDelta[x] DiracDelta[x - y] Cos[x + y], {x, 0, ∞}, {y, 0, ∞}]
Integrate[DiracDelta[x] DiracDelta[x - y] Cos[x + y], {x, -ϵ, ∞}, {y, -ϵ, ∞},
Assumptions -> ϵ > 0]


0

1

Here, I would have expected that both evaluate to 1.

• I'm not sure I understand your last sentence. Surely $x=2=y$ satisfies $x=y$ and $x\ge0$ and $y>0$. Is there a typo somewhere? Or what am I missing? Commented Dec 9, 2018 at 16:09
• Are you sure you are not making a mistake with the limits of the integral? With the correct limits these integrals will both evaluate to zero.
– A.J.
Commented Dec 9, 2018 at 16:09
• Well of course one of the delta functions diverges for x=y=2, but the point is that the other delta function is zero already.
– A.J.
Commented Dec 9, 2018 at 16:11
• The answer to the following question might be relevant, but it is just a trick, that makes the whole simplification more complicated. link
– A.J.
Commented Dec 9, 2018 at 16:15
• @MichaelE2 Uh. Good point. Now I get what A.J. meant. Commented Dec 9, 2018 at 16:46