       Re: Re: (x-y) DiracDelta[x-y] does not simplify to 0

• To: mathgroup at smc.vnet.net
• Subject: [mg56351] Re: [mg56297] Re: (x-y) DiracDelta[x-y] does not simplify to 0
• From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
• Date: Fri, 22 Apr 2005 06:23:47 -0400 (EDT)
• References: <d42kg5\$39t\$1@smc.vnet.net> <d45agf\$ieu\$1@smc.vnet.net> <200504210936.FAA05048@smc.vnet.net> <0e5459acc0a6eae9a16bda863b79434c@mimuw.edu.pl> <16999.49105.639076.187149@localhost.localdomain>
• Sender: owner-wri-mathgroup at wolfram.com

```On 21 Apr 2005, at 23:59, Alain Cochard wrote:

> Andrzej Kozlowski writes:
>
>>> I don't understand these reservations. I learned the statement x
>>> delta
>>> = 0 in my lectures on distributions at university, and I checked
>>> today
>>> that it also appears in one of Laurent Schwartz's ("father" of
>>> distribution theory) books.  Plus I find it very intuitive and it's
>>> straightforward to demonstrate.
>
>> As I wrote: it takes a lot of interpreting. You not only have to
>> interpret both x and 0 as distributions, but you also have to
>> interpret
>> multiplication in a special way, quite different form the normal
>> Mathematica interpretation. The statement x DiracDelta[x] ==0 is
>> merely
>> an informal short hand for the staatement:
>>
>> <x DiracDelta[x], f[x]>= <0, f[x]> for any  "test function" f[x],
>> where
>> <f,g> stands for Integrate[f[x]*g[x],{-Infinity,Infinity}]
>>
>> [...]
>>
>> One can perform certain further informal manipulations on this
>> 'identity". But such informal manipulations should only be performed
>> carefully by people who know what they are doing and Mathematica
>> certainly does not. Because the algebra of distributions is not like
>> usual "algebra" (for a start multiplication is not defined for
>> arbitrary distributions) so it is very easy to obtain nonsensical
>> answers if you manipulate informal expressions containing DiracDelta
>> blindly, e.g. the following is complete nonsense:
>>
>> [..]
>>
>> [...] since [...] there is actually nothing useful that can be done
>> with the above "relationship", I don't think Mathematica should
>> perform any such "simplifications" except in the proper formal
>> context, which means within Integrate.
>
> At times I feel I understand what you mean, at other times I am not so
> sure.
>
> I feel it does not require "a lot" of interpretation.  I'd say it just
> requires to be interpreted in the proper sense, but which is the usual
> sense of distribution theory (i.e., nothing fancy like I feared before
>
> Isn't what you refer to as "shorthand" precisely the way everyone
> using distribution theory use distributions all the time?  I'd say
> that as far as Mathematica has DiracDelta defined in a way which seems fully
> correct to me, it should be one of the "people" who should "know what
> they are doing", at least in principle, and detect the nonsensical
> cases you are talking about.
>
> So that I better understand, could you please say if you classify the
> following relationships in the same class of useless "informal
> manipulations" you refer to above.
>
>  UnitStep'[x] = DiracDelta[x]
>  DiracDelta[a x] = DiracDelta[x]/Abs[a]
>  D[DiracDelta[x],x] = DiracDelta'[x]
>  x DiracDelta'[x] = -DiracDelta[x]
>  DiracDelta[x-y] = DiracDelta[y-x]
>
> Thanks,
> a.
>
>

Of course all these operations are at best informal. This is of course
true even for the very basic usage of DiracDelta in Mathematica.
Mathematica treats DiracDelta as an ordinary function with value 0 at
all real numbers except 0, where it is is undefined(DiracDelta will
return 0). IN other words, DiracDelta in Mathematica is just
DiscreteDelta  except at x=0, where it has no value.  There is no
mathematical sense that can be made of this  but it is difficult to
imagine how else this concept could be implemented in a computer
program. A generalized function (distribution) that does not arise form
a ordinary function does not have a value at a point, and  it is
neither logical nor useful to think of it as having such a value.
However, there is a different issue involved here, where things are
less clear t: that issue is implementation in a computer algebra
system.
Not counting non-standard analysis, DiracDelta and all the relations
above you have stated  both make sense and are useful only when used
inside Integrate. But from the point of view of computer implementation
it seems easier to define them independently of Integrate, so that they
can be used automatically within Integrate rather than make them part
of the way Integrate works. I think that was the main reason for
implementing DiracDelta and UnitStep in the way it has been done in
Mathematica, where practicality and not strict mathematical correctness
are the main considerations.
On the other hand I am much less convinced that the simplification of x
DiracDelta[x] to 0 is justified in this way. Inside Integrate this
"equation' is already used properly without any need for Simplify:

Integrate[f[x] *x DiracDelta[x],{x,-Infinity,Infinity}]

0

Since this is the only context in which the identity is useful and
makes sense,  I can't see any justification for your application of
Simplify.

I should perhaps add that even the notation
Integrate[f[x]*DiracDelta[x],{x,_Infinity,Infinity}] is informal. In
fact this is really a limit of certain integrals of the form
Integrate[f[x]*H'[x,n],{x,-Infinity,Infinity}], where H[x,n] are
certain functions whose limit as n-> Infinity is the Heaviside function
UnitStep[x]. but of course you would not expect this level of formality
in a computer program that is intended for practical use.

Andrzej Kozlowski

P.S. The strange this is that

FullSimplify[x*DiscreteDelta[x]]

returns x*DiscreteDelta[x], although this time the correct answer is
without any doubt 0.

```

• Prev by Date: Re: a conflicting StringReplace
• Next by Date: Re: Integrating a complicated expression involving Sign[...] etc.
• Previous by thread: Re: Re: (x-y) DiracDelta[x-y] does not simplify to 0
• Next by thread: Re: (x-y) DiracDelta[x-y] does not simplify to 0