[Numpy-discussion] Definition of correlation, correlate and so on ?

David Cournapeau david at ar.media.kyoto-u.ac.jp
Tue Dec 12 07:17:43 CST 2006


Charles R Harris wrote:
>
>
> On 12/12/06, *David Cournapeau* <david at ar.media.kyoto-u.ac.jp 
> <mailto:david at ar.media.kyoto-u.ac.jp>> wrote:
>
>     Hi,
>
>         I am polishing some code to compute autocorrelation using fft, and
>     when testing the code against numpy.correlate, I realised that I
>     am not
>     sure about the definition... There are various function related to
>     correlation as far as numpy/scipoy is concerned:
>
>         numpy.correlate
>         numpy.corrcoef
>         scipy.signal.correlate
>
>         For me, the correlation between two sequences X and Y at lag t is
>     the sum(X[i] * Y*[i+lag]) where Y* is the complex conjugate of Y.
>     numpy.correlate does not use the conjugate, scipy.signal.correlate as
>     well, and I don't understand numpy.corrcoef. I've never seen complex
>     correlation used without the conjugate, so I was curious why this
>
>
> Neither have I, it is one of those oddities that may have been 
> inherited from Numeric. I wouldn't mind seeing it changed but it is 
> probably a bit late for that.
Well, I would myself call this a bug, not a feature, unless at least the 
doc specifies the behaviour; the point of my question was to get the 
opinion of other on this point. Anyway, a function to implements the 
'real' cross correlation as defined in signal processing and statistics 
is a must have IMHO,

David


More information about the Numpy-discussion mailing list