This is documentation for Mathematica 6, which was
based on an earlier version of the Wolfram Language.

# ListConvolve

 ListConvolve[ker, list]forms the convolution of the kernel ker with list. ListConvolve[ker, list, k]forms the cyclic convolution in which the k element of ker is aligned with each element in list. ListConvolve[ker, list, {kL, kR}]forms the cyclic convolution whose first element contains list[[1]]ker[[kL]] and whose last element contains list[[-1]]ker[[kR]]. ListConvolve[ker, list, klist, p]forms the convolution in which list is padded at each end with repetitions of the element p. ListConvolve[ker, list, klist, {p1, p2, ...}]forms the convolution in which list is padded at each end with cyclic repetitions of the pi. ListConvolve[ker, list, klist, padding, g, h]forms a generalized convolution in which g is used in place of Times and h in place of Plus. ListConvolve[ker, list, klist, padding, g, h, lev]forms a convolution using elements at level lev in ker and list.
• With kernel Kr and list as, ListConvolve[ker, list] computes , where the limits of the sum are such that the kernel never overhangs either end of the list.
• The values of kL and kR in ListConvolve[ker, list, {kL, kR}] determine the amount of overhang to allow at each end of list.
• Common settings for {kL, kR} are:
 {-1,1} no overhangs (default) {-1,-1} maximal overhang at the right-hand end {1,1} maximal overhang at the left-hand end {1,-1} maximal overhangs at both beginning and end
• With maximal overhang at one end only, the result from ListConvolve is the same length as list.
• ListConvolve[ker, list, {kL, kR}, padlist] effectively lays down repeated copies of padlist, then superimposes one copy of list on them and forms a convolution of the result.
• Common settings for padlist are:
 p pad with repetitions of a single element {p1,p2,...} pad with cyclic repetitions of a sequence of elements list pad by treating list as cyclic (default) {} do no padding
• ListConvolve works with multidimensional kernels and lists of data.
• ListConvolve[ker, list, {{kL1, kL2, ...}, {kR1, kR2, ...}}] forms the cyclic convolution whose {1, 1, ...} element contains ker[[kL1, kL2, ...]]list[[1, 1, ...]] and whose {-1, -1, ...} element contains ker[[kR1, kR2, ...]]list[[-1, -1, ...]].
• {kL, kR} is taken to be equivalent to {{kL, kL, ...}, {kR, kR, ...}}.
• When a function h is specified to use in place of Plus, explicit nested h expressions are generated with a depth equal to the depth of ker.
• ListConvolve works with exact numbers and symbolic data as well as approximate numbers.
Convolve a kernel {x, y} with a list of data:
 Out[1]=

Make a cyclic convolution the same length as the original data:
 Out[1]=
Align element 2 in the kernel with successive elements in the data:
 Out[2]=