Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2006
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2006

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

Search the Archive

Re: Re: piecewise integration

  • To: mathgroup at smc.vnet.net
  • Subject: [mg67055] Re: [mg66999] Re: piecewise integration
  • From: "Chris Chiasson" <chris at chiasson.name>
  • Date: Thu, 8 Jun 2006 04:53:36 -0400 (EDT)
  • References: <20060605102611.774$dR_-_@newsreader.com> <200606061028.GAA20748@smc.vnet.net> <acbec1a40606071502r7aea9e4ahcea554c39976f739@mail.gmail.com> <B4EA9689-6BEF-4F01-AD21-FC9C6EAFC212@mimuw.edu.pl> <acbec1a40606072149na61bec9ofb16ce601628afbb@mail.gmail.com>
  • Sender: owner-wri-mathgroup at wolfram.com

And on a related note, does anyone know why Mathematica handles
DiracDelta'[x] in this way:

In[1]:=
D[UnitStep[x],{x,2}]
Integrate[%,{x,-1,1}]
Out[1]=
Derivative[1][DiracDelta][x]
Out[2]=
0

On 6/7/06, Chris Chiasson <chris at chiasson.name> wrote:
> Andrzej,
>
> I had no idea it could be so convoluted!
>
> Just, let's say, for kicks... what if the treatment of Integrate was
> to always exclude the DiracDelta from the integral if it occurs on an
> endpoint? Do you think that would be as "consistent" as Maxim's
> approach?
>
> On 6/7/06, Andrzej Kozlowski <akoz at mimuw.edu.pl> wrote:
> > *This message was transferred with a trial version of CommuniGate(tm) Pro*
> >
> > On 8 Jun 2006, at 07:02, Chris Chiasson wrote:
> >
> > >> I confess that I never noticed that Integrate and DiracDelta in
> > >> Mathematica behaved like this at end points.  It seems to me that the
> > >> Piecewise approach, which assumes that boundary points are treated
> > >> the same as interior points, is the more natural. But Chris obviously
> > >> was not interested in the answer to this particular problem but in
> > >> more general matters. It is trivial to modify the behaviour of the
> > >> package in this respect (by adding ones own rules for handling
> > >> DiracDelta) to make it conform with what Mathematica does, if one
> > >> really wanted to.  But my main point was that the package is
> > >> interesting in its own right and it seems to me that anyone seriously
> > >> interested in this topic would have already taken a look at it. Why,
> > >> even people not seriously interested in it, like myself, have done so
> > >> and found interesting and instructive things in it.
> > >>
> > >> Andrzej
> > >
> > > I think Mathematica's Integrate does this to preserve the identity:
> > > Integrate[f[x],{x,a,c}]==Integrate[f[x],{x,a,b}]+Integrate[f[x],
> > > {x,b,c}]
> > >
> > > There is a danger of violating this when using PiecewiseIntegrate:
> > >
> > > In[1]:=
> > > <<PiecewiseIntegrate.m
> > > load[x_]=-9*10^3*DiracDelta[x]-
> > >    Piecewise[{{x*10*(10^3/3),0\[LessEqual]x\[LessEqual]3}}]-6*10^3*
> > >      DiracDelta[x-5]
> > > Integrate[load[x],{x,-10,10}]
> > > PiecewiseIntegrate[load[x],{x,-10,10}]
> > > {PiecewiseIntegrate[load[x],{x,-10,0}],PiecewiseIntegrate[load[x],
> > > {x,0,5}],
> > >  PiecewiseIntegrate[load[x],{x,5,10}]}
> > > Plus@@%
> > > Out[2]=
> > > -6000*DiracDelta[-5 + x] - 9000*DiracDelta[x] -
> > > Piecewise[{{(10000*x)/3, 0 <= x <= 3}}]
> > > Out[3]=
> > > -30000
> > > Out[4]=
> > > -30000
> > > Out[5]=
> > > {-9000,-30000,-6000}
> > > Out[6]=
> > > -45000
> > > --
> > > http://chris.chiasson.name/
> >
> > Chris
> >
> > I realised this. However,  I do not consider this identity correct in
> > this context. Mathematica often treats generalised functions as if
> > they were ordinary functions and this often lead to contradictions,
> > or at least unpleasant behaviour. Even if we for the time being
> > ignore the mathematical meaning of distributions you can get
> > inconsistent results such as this:
> >
> >
> > {Integrate[DiracDelta[x], {x, -1, 0}],
> >    Integrate[DiracDelta[x], {x, -1, t}] /. t -> 0}
> >
> >
> > {1/2, 1}
> >
> > Compare this with:
> >
> > <<Piecewise`
> >
> >
> > {PiecewiseIntegrate[DiracDelta[x], {x, -1, 0}],
> >    PiecewiseIntegrate[DiracDelta[x], {x, -1, t}] /. t -> 0}
> >
> >
> > {1,1}
> >
> > Or looking at it form another angle:
> >
> >
> > Limit[PiecewiseIntegrate[DiracDelta[x], {x, -1, t}],
> >    t -> 0, Direction -> 1]
> >
> > 0
> >
> >
> > Limit[PiecewiseIntegrate[DiracDelta[x], {x, -1, t}],
> >    t -> 0, Direction -> -1]
> >
> > 1
> >
> > So the Integral returned by Mathematica is not continuous either form
> > the left or from the right. The integral returned by
> > Piecewiseintegrate is continuous from the right, which is what is the
> > usual assumption in mathematical texts. But there is something even
> > worse about he Mathematica implementation.
> >
> > In fact, if you write out the formula for the sum of integrals using
> > limits you will see that it holds for PiecwiseIntegrate too.
> > In fact, generalised functions are not "functions" (they have no
> > values at points) but are usually defined as functionals on a certain
> > space of functions on real line (there is also another approach in
> > terms of non-standard analysis, but that is not implemented in
> > Mathematica).  These functionals are defined in terms of integrals
> > over the entire real line so formally you cannot integrate the
> > DiracDelta over a finite interval; you can only integrate it from -
> > Infinity to +Infinity, because that is how the functional is defined.
> > Integrals over finite intervals can then be defined as integrals over
> > the whole real line of products of DiracDelta and the characteristic
> > functions of these intervals. But look what happens when you use
> > Mathematica:
> >
> >
> > {Integrate[DiracDelta[x]*Boole[0 <= x <= 2],
> >     {x, -Infinity, Infinity}], Integrate[DiracDelta[x],
> >     {x, 0, 2}]}
> >
> >
> > {1, 1/2}
> >
> >
> > But these ought to be the same by definition! Again compare this with
> > PiecewiseIntegrate
> >
> >
> > {PiecewiseIntegrate[DiracDelta[x]*Boole[0 <= x <= 2],
> >     {x, -Infinity, Infinity}], PiecewiseIntegrate[DiracDelta[x],
> >     {x, 0, 2}]}
> >
> >
> > {1,1}
> >
> >
> >  From the mathematical point of view I have no doubt here: Maxim got
> > it right and Mathematica got it wrong. Of course one can always say
> > that these are only different conventions and as is usual with
> > various conventions, once you understand them and get used to them
> > you usually find that you can use them equally successfully. Still,
> > there are just too many departures form standard mathematics for me
> > to be comfortable with the way Mathematica behaves in the above
> > examples.
> >
> > Andrzej Kozlowski
> >
>
>
> --
> http://chris.chiasson.name/
>


-- 
http://chris.chiasson.name/


  • Prev by Date: Re: Re: piecewise integration
  • Next by Date: Re: Two questions (1) Sollve and (2) Precision
  • Previous by thread: Re: Re: piecewise integration
  • Next by thread: Re: piecewise integration