This is documentation for Mathematica 4, 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, , ] forms the cyclic convolution whose first element contains list[[1]] ker[[]] and whose last element contains list[[-1]] ker[[]].

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, , , ... ] forms the convolution in which list is padded at each end with cyclic repetitions of the .

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 and list , ListConvolve[ker, list] computes , where the limits of the sum are such that the kernel never overhangs either end of the list.

Example: ListConvolve[x,y, a,b,c] .

ListConvolve[ker, list] gives a result of length Length[list]-Length[ker]+1.

ListConvolve[ker, list] allows no overhangs and is equivalent to ListConvolve[ker, list, -1, 1].

ListConvolve[ker, list, k] is equivalent to ListConvolve[ker, list, k, k].

The values of and in ListConvolve[ker, list, , ] determine the amount of overhang to allow at each end of list.

Common settings for , are:

Examples: ListConvolve[x,y, a,b,c, 1,1] .

ListConvolve[x,y, a,b,c, 1,-1] .

With maximal overhang at one end only, the result from ListConvolve is the same length as list.

ListConvolve[ker, list, , , padlist] effectively lays down repeated copies of padlist, then superimposes one copy of list on them and forms a convolution of the result.

ListConvolve works with multidimensional kernels and lists of data.

ListConvolve[ker, list, , , ... , , , ... ] forms the cyclic convolution whose 1,1,... element contains ker[[, , ... ]] list[[1,1,... ]] and whose -1,-1,... element contains ker[[, , ... ]] list[[-1,-1,... ]].

, is taken to be equivalent to , , ... , , , ... .

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.

Implementation Notes: see section A.9.4.

See The Mathematica Book: Section 3.8.4.