BUILT-IN MATHEMATICA SYMBOL

# 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 and whose last element contains .

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 .

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.

## DetailsDetails

• 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.
• 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, {kL, kR}] determine the amount of overhang to allow at each end of list.
• Common settings for 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 element contains , and whose element contains .
• 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.

## ExamplesExamplesopen allclose all

### Basic Examples (4)Basic Examples (4)

Convolve a kernel 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]=

 Out[1]=

Two-dimensional convolution:

 Out[1]=