MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Integrating DiracDelta to get UnitStep

  • To: mathgroup at smc.vnet.net
  • Subject: [mg91260] Re: Integrating DiracDelta to get UnitStep
  • From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
  • Date: Tue, 12 Aug 2008 04:46:14 -0400 (EDT)
  • Organization: The Open University, Milton Keynes, UK
  • References: <g7p2tm$arr$1@smc.vnet.net>

CRC wrote:

> I am a bit confused by Mathematica 6.0.3 behavior.  I expect that:
> 
> In[n]:= Integrate[DiracDelta[x], {x, -\[Infinity], t},
>   Assumptions -> Im[t] == 0]
> 
> Will produce:
> 
> Out[n]= UnitStep[t]
>
> But instead it produces:
> 
> Out[n]= 1
>
> However,
> 
> In[n+1]:= Plot[ Integrate[DiracDelta[x], {x, -\[Infinity], t},
>    Assumptions -> Im[t] == 0], {t, -2, 2} ]
> 
> produces the expected plot of UnitStep[t].

What you get, indeed, is the plot of HeavisideTheta[t]:

     Plot[Integrate[DiracDelta[x], {x, -\[Infinity], t},
      Assumptions -> Im[t] == 0], {t, -2, 2}, PlotStyle -> Thick]

     Plot[HeavisideTheta[t], {t, -2, 2}, PlotStyle -> Thick]

     Plot[UnitStep[t], {t, -2, 2}, PlotStyle -> Thick]

> Why doesn't the integration output the UnitStep function?

Mathematica does not define UnitStep as a primitive of DirectDelta. It
defines DiractDelta as the first derivaitve of HeavisideTheta.

     D[HeavisideTheta[t], t] (* === DiracDelta[t] *)

 From the online help:

     UnitStep[x] represents the unit step function,
      equal to 0 for x < 0 and 1 for x >= 0.

     HeavisideTheta[x] represents the Heaviside theta function
      \[Theta](x), equal to 0 for x < 0 and 1 for x > 0.

Note that HeavisideTheta[x] is not defined for x == 0 and that the value
of the integral is 1/2 for x form -inf to zero. This might explained why
Mathematica does not returned HeavisideTheta[t].

In[2]:= Integrate[DiracDelta[x], {x, -\[Infinity], t},
  Assumptions -> Im[t] == 0 && Re[t] < 0]

Out[2]= 0

In[3]:= Integrate[DiracDelta[x], {x, -\[Infinity], t},
  Assumptions -> Im[t] == 0 && Re[t] == 0]

Out[3]= 1/2

In[4]:= Integrate[DiracDelta[x], {x, -\[Infinity], t},
  Assumptions -> Im[t] == 0 && Re[t] > 0]

Out[4]= 1

In[5]:= UnitStep[{-1, 0, 1}]

Out[5]= {0, 1, 1}

In[6]:= HeavisideTheta[{-1, 0, 1}]

Out[6]= {0, HeavisideTheta[0], 1}

HTH,
-- Jean-Marc



  • Prev by Date: ListLinePlot and Tooltip
  • Next by Date: Re: "stepwise" integrating a 2D array
  • Previous by thread: Re: Re: Integrating DiracDelta to get UnitStep
  • Next by thread: Re: Re: Integrating DiracDelta to get UnitStep