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