       Re: Factor 2 error in Inverse Laplace Transform

• To: mathgroup at smc.vnet.net
• Subject: [mg51255] Re: Factor 2 error in Inverse Laplace Transform
• From: ab_def at prontomail.com (Maxim)
• Date: Sun, 10 Oct 2004 01:57:39 -0400 (EDT)
• References: <ck87ta\$9mf\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```p-valko at tamu.edu (Peter Valko) wrote in message news:<ck87ta\$9mf\$1 at smc.vnet.net>...
> Hi,
>
> InverseLaplaceTransform is an extremely useful part of Mathematica
> (since v 4.1).
> However, in the following simple problem it gives the wrong answer:
> Problem 1:
> InverseLaplaceTransform[s/(s+1),s,t]
> -1/(2*E^t)+DiracDelta[t]
> where the factor 2 is completely wrong.
>
> To see that I slightly rewrite Problem 1 into
> Problem 1a:
> InverseLaplaceTransform[Apart[s/(s+1)],s,t]
> and then I get the correct answer:
> -E^(-t)+DiracDelta[t]
>
> Of course one can "Unprotect" InverseLaplaceTransform and teach it to
> give the correct answer but that is not the point.
> (Also one can start a long debate about the meaning of DiracDelta in
> Mathematica, but that is also not the point here. )
>
> There are several similar simple examples when the wrong factor of two
> shows up, for instance
> Problem 2:
> InverseLaplaceTransform[ s ArcTan[1/s],s,t]
>
> Using the Trace one can find out that all these "factor 2" errors have
> a common origin.
> Solving Problem 1 Mathematica calculates the convolution integral
>
>  Integrate[E^(-t+x)*Derivative[DiracDelta][x],{x,0,t}]
>
> and because the lower limit is exactly zero,the factor 2 shows up in
> -1/(2*E^t), that is Mathematica "halves" the Dirac delta and all its
> derivatives at the origin.
>
> I think the InverseLaplaceTransform function could be much improved if
> the above convolution integral would be evaluated more carefully.
>
> For instance, doing it in two steps:
>  res1=Integrate[E^(-t+x)*Derivative[DiracDelta][x],{x,-eps,t},
>  Assumptions -> eps>0];
>  res2=res1/.eps -> 0
> would give the right result.
> (This caution is necessary only, if generalized functions are involved
> in the integration.)
>
> I wonder if further examples/suggestions are welcome in this group
> regarding InverseLaplaceTransform???
>
> Peter

I'd say that this is two messes mixed together. One is a rather poor
implementation of integral transforms, especially when there are
generalized functions involved. For example:

In:=
LaplaceTransform[InverseLaplaceTransform[Log[p], p, t], t, p] - Log[p]
LaplaceTransform[InverseLaplaceTransform[PolyGamma[p], p, t], t, p] -
PolyGamma[p]

Out=
EulerGamma

Out=
EulerGamma

We can see that LaplaceTransform/InverseLaplaceTransform aren't
consistenly defined for these functions (here Mathematica doesn't
internally take integrals of distributions). Another issue is the
question of how the integral of DiracDelta on [0,a] should be
interpreted:

In:=
Integrate[DiracDelta[x], {x, 0, 1}]
Integrate[DiracDelta[x - a], {x, 0, 1}]
Integrate[DiracDelta[x - 1], {x, 1, 2}]

Out=
1/2

Out=
UnitStep[1 - a]*UnitStep[a]

Out=
0

The value of the first integral is by convention taken to be 1/2;
however, substituting a=0 into Out we obtain 1, and making the
change of variables x->x-1 (the third integral) we get 0. Similarly
for the integrals of the DiracDelta derivatives:

In:=
Integrate[DiracDelta'[x]*phi[x], {x, -eps, Infinity}]
Integrate[DiracDelta'[x]*phi[x], {x, 0, Infinity}]
Integrate[DiracDelta'[x]*x, {x, 0, Infinity}]

Out=
(-DiracDelta[eps])*phi - phi'

Out=
0

Out=
-(1/2)

The value of the first integral for eps<0 is incorrect in any case,
and Out and Out are not consistent with each other.

Maxim Rytin
m.r at inbox.ru

```

• Prev by Date: Re: symbol replace
• Next by Date: Re: Re: normal distribution random number generation
• Previous by thread: Factor 2 error in Inverse Laplace Transform
• Next by thread: Re: Factor 2 error in Inverse Laplace Transform