[?] Prove equality - Application of Dirac delta property?

Hello everyone. Is it possible the prove the following equality?

t (-DiracDelta[-5 + t] + DiracDelta[t]) - HeavisideTheta[-5 + t] + 
  HeavisideTheta[t] == -5 DiracDelta[-5 + t] - 
  HeavisideTheta[-5 + t] + HeavisideTheta[t]

The output of Mathematica is equal to the input. The property I’m applying is x(t-T) delta(t-T)=x(T) delta(t-T).

Thank you in advance.

The equality is false because the difference of right and left terms are not zero. It’s enough to plot the graph of the specified difference:

Plot[t (-DiracDelta[-5 + t] + DiracDelta[t]) - 
  HeavisideTheta[-5 + t] + HeavisideTheta[t] 5 DiracDelta[-5 + t] - 
  HeavisideTheta[-5 + t] + HeavisideTheta[t], {t, -10, 10}]

Hi @Valeriu Ungureanu . I tried also to prove the simple property x(t) delta(t)=x(0) delta(t) (see (3) http://www.physicspages.com/2011/02/16/dirac-delta-function/ ), but the result is not what I expect:

In[5]:= x[t_] := t

In[6]:= x[t] DiracDelta[t] == x[0] DiracDelta[t]

Out[6]= t DiracDelta[t] == 0

How come it happened? The result should be Out[6]=True.

Thank you for your time and for your efforts to help me.

Try this:

In[1]:= Simplify[x[t] DiracDelta[t] == x[0] DiracDelta[t]]
Out[1]= True

@Valeriu Ungureanu there is a strange behaviour of Mathematica. If I don’t define x[t_], the line:

Simplify[x[t - 5] DiracDelta[t - 5] == x[0] DiracDelta[t - 5]]   

will give me True, instead the line

Simplify[x[t] DiracDelta[t] == x[0] DiracDelta[t]]

will give me DiracDelta[t] x[t] == DiracDelta[t] x[0]. Do you know why?

I found another “unusual” output.

In[1]:= Simplify[1000 t DiracDelta[t] + 5 t == 5 t]

Out[1]= True

This is ok. But:

Simplify[1/5 t (-DiracDelta[-5 + t] + DiracDelta[t]) + 
   1/5 (-HeavisideTheta[-5 + t] + HeavisideTheta[t]) == -(1/5)
      t DiracDelta[-5 + t] + 
   1/5 (-HeavisideTheta[-5 + t] + HeavisideTheta[t])]

output:

1/5 t (-DiracDelta[-5 + t] + DiracDelta[t]) + 
  1/5 (-HeavisideTheta[-5 + t] + 
     HeavisideTheta[t]) == -DiracDelta[-5 + t] + 
  1/5 (-HeavisideTheta[-5 + t] + HeavisideTheta[t])

How can I get True?

Thank you very much.

Dear Gennaro,

I don’t know why the results are so strange. More the more, I found other strangeness, e.g.:

In[1]:= Solve[x[t] DiracDelta[t] == x[0] DiracDelta[t], t]
During evaluation of In[1]:= Solve::ifun: Inverse functions are being used by Solve, so some solutions may not be found; use Reduce for complete solution information.
Out[1]= {{t -> 0}, {t -> 42/5}}

In[2]:= Solve[x[t - 5] DiracDelta[t - 5] == x[0] DiracDelta[t - 5], t]
During evaluation of In[2]:= Solve::ifun: Inverse functions are being used by Solve, so some solutions may not be found; use Reduce for complete solution information.
Out[2]= {{t -> 5}, {t -> 67/5}}

In[3]:= Reduce[x[t] DiracDelta[t] == x[0] DiracDelta[t], t]
During evaluation of In[3]:= Reduce::fexp: Warning: Reduce used FunctionExpand to transform the system. Since FunctionExpand transformation rules are only generically correct, the solution set might have been altered.
Out[3]= True

In[4]:= Reduce[x[t - 5] DiracDelta[t - 5] == x[0] DiracDelta[t - 5], t]
During evaluation of In[4]:= Reduce::fexp: Warning: Reduce used FunctionExpand to transform the system. Since FunctionExpand transformation rules are only generically correct, the solution set might have been altered.
Out[4]= True

In[5]:= NSolve[x[t] DiracDelta[t] == x[0] DiracDelta[t], t]
During evaluation of In[5]:= NSolve::ifun: Inverse functions are being used by NSolve, so some solutions may not be found; use Reduce for complete solution information.
Out[5]= {{t -> 0.}, {t -> 0.365626}}

In[6]:= NSolve[x[t - 5] DiracDelta[t - 5] == x[0] DiracDelta[t - 5], t]
During evaluation of In[6]:= NSolve::ifun: Inverse functions are being used by NSolve, so some solutions may not be found; use Reduce for complete solution information.
Out[6]= {{t -> 5.}, {t -> 5.36563}}

As in the above reply:

In[9]:= Solve[
 1/5 t (-DiracDelta[-5 + t] + DiracDelta[t]) + 
   1/5 (-HeavisideTheta[-5 + t] + 
      HeavisideTheta[t]) == -(1/5) t DiracDelta[-5 + t] + 
   1/5 (-HeavisideTheta[-5 + t] + HeavisideTheta[t]), t]

During evaluation of In[9]:= Solve::ifun: Inverse functions are being used by Solve, so some solutions may not be found; use Reduce for complete solution information.

Out[9]= {{t -> 0}, {t -> 42/5}}

In[8]:= Reduce[
 1/5 t (-DiracDelta[-5 + t] + DiracDelta[t]) + 
   1/5 (-HeavisideTheta[-5 + t] + 
      HeavisideTheta[t]) == -(1/5) t DiracDelta[-5 + t] + 
   1/5 (-HeavisideTheta[-5 + t] + HeavisideTheta[t]), t]

During evaluation of In[8]:= Reduce::fexp: Warning: Reduce used FunctionExpand to transform the system. Since FunctionExpand transformation rules are only generically correct, the solution set might have been altered.

Out[8]= True

If you want to discuss Dirac delta functions (actually functionals) in terms of identities and the like, then it is necessary to phrase computations in terms of functions such as Integrate that work in the same world as these functionals. Things like Solve, Simplify, and the like do not deal well with nongeneric behavior such as is exhibited by a “function” that is 0 a.e. Moreover they will not be able to prevent an autoevaluation such as 0*DiracDelta[x] from becoming 0, etc. The results shown using Solve and Simplify in this thread might best be viewed as GIGO.

Thank you, Daniel! It is a very instructive and useful explanation!

Hi @Daniel Lichtblau . I tried:

In[14]:= Integrate[DiracDelta[t - T] f[t - T], t] == 
 Integrate[DiracDelta[t - T] f[0], t]

Out[14]= True

This is ok. After I tried:

In[1]:= Integrate[DiracDelta[t - T] f[t], t] == 
 Integrate[DiracDelta[t - T] f[T], t]

Out[1]= \[Integral]DiracDelta[t - T] f[t] \[DifferentialD]t == 
 f[T] HeavisideTheta[t - T]

In this case why the output is not True?

Thank you in advance.

Indefinite integrals don’t have so much impact in the world of DiracDelta functions. In order to test definitions one should use definite integrals that properly contain the singular point(s) in the domain of integration. See below for the example in question.

In[78]:= Integrate[DiracDelta[t - T] f[t], {t, -Infinity, Infinity}, 
 Assumptions -> Element[T, Reals]]

Out[78]= f[T]

In[79]:= Integrate[DiracDelta[t - T] f[T], {t, -Infinity, Infinity}, 
 Assumptions -> Element[T, Reals]]

Out[79]= f[T]

Very very good! Thank you so much!