Message Boards Message Boards

0
|
6665 Views
|
12 Replies
|
8 Total Likes
View groups...
Share
Share this post:

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

Posted 7 years ago

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.

POSTED BY: Gennaro Arguzzi
12 Replies

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}]

enter image description here

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.

POSTED BY: Gennaro Arguzzi

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?

POSTED BY: Gennaro Arguzzi

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.

POSTED BY: Gennaro Arguzzi

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.

POSTED BY: Daniel Lichtblau

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.

POSTED BY: Gennaro Arguzzi

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]
POSTED BY: Daniel Lichtblau

Very very good! Thank you so much!

POSTED BY: Gennaro Arguzzi
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract