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 > asking my initial question). > > 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[2] 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.

**References**:**Re: (x-y) DiracDelta[x-y] does not simplify to 0***From:*Alain Cochard <alain@geophysik.uni-muenchen.de>