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