Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Using Fourier and InverseFourier instead of Convolve

  • To: mathgroup at smc.vnet.net
  • Subject: [mg85875] Re: Using Fourier and InverseFourier instead of Convolve
  • From: m.r at inbox.ru
  • Date: Tue, 26 Feb 2008 07:47:12 -0500 (EST)
  • References: <fpooi0$1cg$1@smc.vnet.net>

On Feb 23, 3:21=A0am, "Solomon, Joshua" <J.A.Solo... at city.ac.uk> wrote:
> OK, I must admit that I do not understand everything ListConvolve does, bu=
t
> I get the convolution I need when I do
> ListConvolve[list1, list2, {1, -1}, 0]
> In particular, the output has the appropriate length:
> Length[list1]+Length[list2]-1.
> Now, I would like to get the identical using Fourier and InverseFourier.
> Is this possible? What is the appropriate syntax?
> j

It's certainly possible:

In[1]:= {m, n} = {100, 200};
 {list1, list2} = RandomReal[{-10, 10}, #]& /@ {m, n};

In[3]:= Norm[ListConvolve[list1, list2, {1, -1}, 0] -
  Sqrt[m + n - 1] InverseFourier[
    Fourier[PadRight[list1, m + n - 1, 0.]]
     Fourier[PadRight[list2, m + n - 1, 0.]]]]

Out[3]= 2.5382019*10^-12

Maxim Rytin
m.r at inbox.ru


  • Prev by Date: Re: Using Fourier and InverseFourier instead of Convolve
  • Next by Date: Re: Legend with ListDensityPlot
  • Previous by thread: Re: Using Fourier and InverseFourier instead of Convolve
  • Next by thread: Re: Using Fourier and InverseFourier instead of Convolve