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
- Follow-Ups:
- Re: Re: Integrating DiracDelta to get UnitStep
- From: Andrzej Kozlowski <akoz@mimuw.edu.pl>
- Re: Re: Integrating DiracDelta to get UnitStep