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: [mg91292] Re: Integrating DiracDelta to get UnitStep
  • From: Roland Franzius <roland.franzius at uos.de>
  • Date: Wed, 13 Aug 2008 04:42:28 -0400 (EDT)
  • References: <g7p2tm$arr$1@smc.vnet.net>

CRC schrieb:
> Hi:
> 
> 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].
> 
> 
> Why doesn't the integration output the UnitStep function?

If you consider the integration limit t as a complex number, you have to 
chose a contour for integration from -oo to t+i*0. The UnitStep 
distribution along the real axis is a limit of the difference of the 
complex logarithms with with cut along the positive real axis from above 
and below. Its derivative therefore is a boundary value of the analytic 
function z->1/z.

What Mathematica knows about the complex representation of these 
distributions you see here

In:
Assuming[x \[Element] Reals, Integrate[DiracDelta[x   ], {x, a, b}]]

Out:
If[Element[a, Reals] && Element[b, Reals],
    (-1 + 2*HeavisideTheta[-a + b])*HeavisideTheta[
        (-b)*HeavisideTheta[a - b] - a*HeavisideTheta[-a + b]]*
      HeavisideTheta[
    a*HeavisideTheta[a - b] + b*HeavisideTheta[-a + b]],
    Integrate[DiracDelta[x], {x, a, b}, Assumptions ->
        Element[x, Reals] && (NotElement[a, Reals] ||
             NotElement[b, Reals])]]

As displyed by the last expression Mathematica has no clue about the 
integral as a complex countour integral.

For the real case we have

In:
f[a_, b_] =
  Assuming[{a, b, x} \[Element] Reals,
   Integrate[DiracDelta[x   ], {x, a, b}]]
Out:
(-1 + 2*HeavisideTheta[-a + b])*HeavisideTheta[
      (-b)*HeavisideTheta[a - b] - a*HeavisideTheta[-a + b]]*
    HeavisideTheta[a*HeavisideTheta[a - b] + b*HeavisideTheta[-a + b]]

which is correct as you see with Plot3D.

In:

f[DirectedInfinity[
-1], 1]

Out:
HeavisideTheta[Indeterminate]

In:
HeavisideTheta[-1+I]
Out:
HeavisideTheta[-1+I]

Hope it helps.

-- 

Roland Franzius


  • Prev by Date: Trouble Implementing Schelling's Segregation Model
  • Next by Date: Re: fractional derivative (order t) of (Log[x])^n and Log[Log[x]]
  • Previous by thread: Re: Integrating DiracDelta to get UnitStep
  • Next by thread: minimize with complex numbers