[Matrix-SIG] We should rename convolve in multiarraymodule

Travis Oliphant Oliphant.Travis@mayo.edu
Tue, 30 Mar 1999 21:59:11 -0600 (EST)


While I've mentioned this privately to some members of the list, I thought
I might suggest it to all users of NumPy to see the reaction.

I'm suggesting that "convolve" be renamed to "correlate." as this is what
the function actually does.  It is only the same as a true convolution if
one of the inputs is symmetric.  It is quite easy to obtain a convolution
from a correlation function as it just involves reversing the axis on one
of the sequences.  

In linear system theory, convolution has a very special place and anyone
coming from that background to use Numerical Python will be quite
surprised and a bit annoyed that the convolve function is actually
computing a correlation.  The difference between convolution and
correlation is subtle but important for some problems, and I would like to
make sure that we don't lose potential users because of a mild oversight
in the naming of one of the functions.

In the signaltools package that I've put together, there is a function
called convolveND (true convolution) and a function called correlateND
(that can replace the current "convolve" in NumPy).

Thanks for indulging,

Travis