Re: Fourier Transfer and a game?!?!

• To: mathgroup at smc.vnet.net
• Subject: [mg54266] Re: Fourier Transfer and a game?!?!
• From: Maxim <ab_def at prontomail.com>
• Date: Mon, 14 Feb 2005 21:51:17 -0500 (EST)
• References: <cuf5kg\$god\$1@smc.vnet.net> <cukb23\$lmi\$1@smc.vnet.net> <cump6f\$3t9\$1@smc.vnet.net> <cuperu\$gmc\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```On Mon, 14 Feb 2005 06:01:34 +0000 (UTC), Paul Abbott
<paul at physics.uwa.edu.au> wrote:

> In article <cump6f\$3t9\$1 at smc.vnet.net>, Maxim <ab_def at prontomail.com>
> wrote:
>
>> Here's how we can apply Fourier to this problem:
>>
>> In[2]:=
>> F = Fourier;
>> IF = InverseFourier;
>> SetOptions[#, FourierParameters -> {1, 1}]& /@ {F, IF};
>>
>> Module[{L},
>>    L = PadRight[{0., .35, .35, .15, .15}, 13];
>>    IF[.4*F[L]^0 + .35*F[L]^1 + .15*F[L]^2 + .1*F[L]^3] // Chop
>> ]
>
>
> [1] SetOptions accepts a list of functions:
>
>   SetOptions[{Fourier, InverseFourier}, FourierParameters -> {1, 1}]
>
> [2] One can use the Dot product as follows:
>
>   InverseFourier[{0.4, 0.35, 0.15, 0.1} .
>     (Fourier[PadRight[{0., 0.35, 0.35, 0.15, 0.15}, 13]]^# & /@
>       {0, 1, 2, 3})]
>
> There can be a problem with 0^0 using either approach.
>
> Cheers,
> Paul
>

Thanks Paul, I didn't know that it was possible to use SetOptions[{sym1,
sym2}, opts] syntax; strictly speaking, this is an undocumented feature. I
believe that SetOptions is not Listable because otherwise
SetOptions[{sym1, sym2}, {opt1, opt2}] would become {SetOptions[sym1,
opt1], SetOptions[sym2, opt2]}.

Also you're absolutely right that the result of the transform may contain
zeros. So a more accurate way to use Fourier would be as follows:

In[1]:=
F = Fourier;
IF = InverseFourier;
SetOptions[{F, IF}, FourierParameters -> {1, 1}];

Module[{n = 13, L0, L},
L = PadRight[{0., .35, .35, .15, .15}, n];
IF[.4*F[L0] + {.35, .15, .1}.Array[F[L]^#&, 3]] // Chop
]

Out[4]=
{0.4, 0.1225, 0.140875, 0.0935375, 0.0994875, 0.049875, 0.03995, 0.02565,
0.015975, 0.007425, 0.003375, 0.0010125, 0.0003375}

Maxim Rytin
m.r at inbox.ru

```

• Prev by Date: Re: Using Select with arrays? (Relative newbie)
• Next by Date: Re: Using Select with arrays? (Relative newbie)
• Previous by thread: Re: Fourier Transfer and a game?!?!
• Next by thread: temporary file location