Re: Fourier Transform
- To: mathgroup at smc.vnet.net
- Subject: [mg93523] Re: Fourier Transform
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Thu, 13 Nov 2008 06:34:47 -0500 (EST)
- Organization: Uni Leipzig
- References: <gf8rgp$poq$1@smc.vnet.net> <gfbur0$43e$1@smc.vnet.net> <gfgqhc$dkv$1@smc.vnet.net>
- Reply-to: kuska at informatik.uni-leipzig.de
Hi,
the factors are different, because there are several
"normalizations" used. Theoretical physicists prefer
the factor 1/Sqrt[2Pi] per dimension in the forward and backward transform
(because the formulas are sooooooo symmetric), the
rest of the world seems to prefer 1 in the forward and 1/(2Pi)
per dimension in the backward transform because it save
a multiplication by a complicated number like 1/Sqrt[2Pi].
Clearly the algorithms are different, because some
FourierTransform[]s are placed in a table for cases when you
have to solve a complex path integral, while Integrate[]
probably not use such tricks.
Regards
Jens
Nikolaus Rath wrote:
> Jens-Peer Kuska <kuska at informatik.uni-leipzig.de> writes:
>>> Consider the following expression:
>>>
>>> expr = (c^2 Sqrt[2 \[Pi]]
>>> DiracDelta[ky + sy] DiracDelta[sz])/(-c^2 sx^2 - c^2 sy^2 -
>>> c^2 sz^2 + \[Omega]^2);
>>> $Assumptions = {{x, y, z} \[Element] Reals};
>>> InverseFourierTransform[expr, {sx, sy, sz}, {x, y, z}] // Timing
>>> Integrate[
>>> 1/Sqrt[2 \[Pi]] Exp[-I sx x] Exp[-I sy y] Exp[-I sz z]
>>> expr, {sx, -\[Infinity], \[Infinity]}, {sy, -\[Infinity], \
>>> \[Infinity]}, {sz, -\[Infinity], \[Infinity]}] // Timing
>>>
>>> On my system with Mathematica 6, the explicit integration takes 3
>>> times as long as the InverseFourierTransform and also gives several
>>> additional required assumptions for the same result (e.g. Im[-ky^2 +
>>> \[Omega]^2/c^2] != 0 || Re[-ky^2 + \[Omega]^2/c^2] <= 0).
>>>
>>> How is this possible? Is Mathematica using some special tricks when
>>> evaluating the InverseFourierTransform?
>> ClearSystemCache[]
>> expr = (c^2 Sqrt[2 \[Pi]] DiracDelta[ky + sy] DiracDelta[
>> sz])/(-c^2 sx^2 - c^2 sy^2 - c^2 sz^2 + \[Omega]^2);
>> $Assumptions = {{x, y, z} \[Element] Reals};
>> InverseFourierTransform[expr, {sx, sy, sz}, {x, y, z}] // Timing
>> Integrate[
>> 1/Sqrt[2 \[Pi]] Exp[-I sx x] Exp[-I sy y] Exp[-I sz z] expr, {sx, -\
>> \[Infinity], \[Infinity]}, {sy, -\[Infinity], \[Infinity]}, {sz, -\
>> \[Infinity], \[Infinity]}, GenerateConditions -> False] // Timing
>>
>> is not so different.
>
> It's not? This is what I get:
>
> {9.98862, -(1/2) E^(-(Abs[x]/Sqrt[(c^2/(c^2 ky^2 - \[Omega]^2))]))
> Sqrt[c^2/(c^2 ky^2 - \[Omega]^2)] (Cos[ky y] + I Sin[ky y])}
>
> for the Fourier Transform and
>
> {13.5928, -E^(
> I ky y - Abs[x]/Sqrt[c^2/(c^2 ky^2 - \[Omega]^2)]) \[Pi]^(3/2)
> Sqrt[c^2/(c^2 ky^2 \[Pi] - \[Pi] \[Omega]^2)]}
>
> for the explicit integral.
>
> it's no longer a factor 3, but it's still quite a difference.
> Moreover, now even the results are different (look at the factor of
> 1/2 and pi).
>
> Any ideas?
>
>
> -Nikolaus
>
> --
> =C2=BBIt is not worth an intelligent man's time to be in the majority.
> By definition, there are already enough people to do that.=C2=AB
> -J.H. Hardy
>
> PGP fingerprint: 5B93 61F8 4EA2 E279 ABF6 02CF A9AD B7F8 AE4E 425C
>