Re: correlation function

*To*: mathgroup at smc.vnet.net*Subject*: [mg128703] Re: correlation function*From*: Bob Hanlon <hanlonr357 at gmail.com>*Date*: Sun, 18 Nov 2012 17:15:41 -0500 (EST)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*Delivered-to*: l-mathgroup@wolfram.com*Delivered-to*: mathgroup-newout@smc.vnet.net*Delivered-to*: mathgroup-newsend@smc.vnet.net*References*: <20121118085638.5969C6A26@smc.vnet.net>

Use ListConvolve data = RandomReal[1000, RandomInteger[{20, 50}]]; n = Length[data] 41 Simplify[InverseFourier[Fourier[data]^2] == ListConvolve[data, data, {1, 1}]/Sqrt[n]] True Bob Hanlon On Sun, Nov 18, 2012 at 3:56 AM, jure lapajne <lapajne.jure at gmail.com> wrote: > Hello, > I'm having hard time calculating correlation (autocorrelation) function of > two lists (list). I'm trying two different ways of calculating it. One way > is to use fourier transform and second way is to use Mathematica's function > ListCorrelate. I get different results but have no idea why. Here's my code: > > korelacija1 = ListCorrelate[data, data, {1, 1}]; > korelacija11 = Abs[InverseFourier[Abs[Fourier[data]]^2]]; > > All elements of "data" are real. I have two Abs in second line because for some reason InverseFourier returns small imaginary parts - I know it shouldn't. It's probably only numerical error. > > Thanks for help. >

**References**:**correlation function***From:*jure lapajne <lapajne.jure@gmail.com>