Re: Question: DiracDelta simplifies/integrates incorrectly?
- To: mathgroup at smc.vnet.net
- Subject: [mg65162] Re: [mg65132] Question: DiracDelta simplifies/integrates incorrectly?
- From: John Harker <harker at me.rochester.edu>
- Date: Wed, 15 Mar 2006 23:59:38 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
On Wed, 15 Mar 2006, Daniel Lichtblau wrote: >John Harker wrote: >> Hello, >> >> I have a question regarding the behavior of the DiracDelta function in >> Mathematica 5.2. >> >> The following two inputs produce the following results: >> >> In[61]:= >> Simplify[Pi*DiracDelta[Pi*x]] >> >> Out[61]= >> DiracDelta[x] >> >> In[60]:= >> Simplify[Pi*DiracDelta[Pi*(x-3)]] >> >> Out[60]= >> \[Pi] DiracDelta[\[Pi] (-3+x)] >> >> As you can see, although the Pi is correctly simplified out in the first >> case, it is not simplified in the second case. This is a problem because >> of the following result: >> >> In[68]:= >> Clear[f]; >> >> In[69]:= >> Integrate[f[x]*Pi*DiracDelta[Pi*x],{x,-Infinity,Infinity}] >> >> Out[69]= >> f[0] >> >> In[70]:= >> Integrate[f[x]*Pi*DiracDelta[Pi*(x-3)],{x,-Infinity,Infinity}] >> >> Out[70]= >> 0 >> >> As you can see, the output [69] is correct, but the output [70] should >> correctly be f[3], and instead it returns 0. >> >> Is there a flaw in my understanding of the DiracDelta function, or is this >> a bug? >> >> All of the above poses a problem because Mathematica will return results >> such as the following: >> >> In[78]:= >> Simplify[ >> FourierTransform[Exp[I*2*Pi*3*x],x,f, >> FourierParameters\[Rule]{0,-2*\[Pi]}] >> ] >> >> Out[78]= >> \[Pi] DiracDelta[(-3+f) \[Pi]] >> >> So you see that just by asking for a simple Fourier transform, I can get >> an output result which Mathematica cannot integrate correctly. >> >> Does anyone have any ideas about a better way to perform this math >> in order to get around the problem? Or something illuminating about how >> the DiracDelta function works? >> >> Many thanks! >> >> John > >Your second integral example > >Integrate[f[x]*Pi*DiracDelta[Pi*(x-3)],{x,-Infinity,Infinity}] > >should certainly return f[3], and the failure to do so is a bug. This >will be fixed in a future release (the next one). > >Daniel Lichtblau >Wolfram Research > Thanks! It's good to know it's a bug and not my imagination. :-) In the meantime, for my specific purposes I did figure out an acceptable workaround. My mathematical problem was written in the form FourierTransform[Exp[I*2*Pi*3*x],x,f,FourierParameters->{0,-2*\[Pi]}] And so I would get the unusable output \[Pi] DiracDelta[(-3+f) \[Pi]] I decided that I could simplify by rewriting my problem so it could be written in the form FourierTransform[Exp[I*3*x],x,f,FourierParameters->{-1,-1}] which produces the "correct" and useful result DiracDelta[-f + n] Thanks again! John