# Wolfram Language & System 10.4 (2016)|Legacy Documentation

This is documentation for an earlier version of the Wolfram Language.
BUILT-IN WOLFRAM LANGUAGE 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 .

forms a generalized convolution in which g is used in place of Times and h in place of Plus.

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,{{kL 1,kL 2,},{kR 1,kR 2,}}] 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:

 In[1]:=
 Out[1]=

Make a cyclic convolution the same length as the original data:

 In[1]:=
 Out[1]=

Align element 2 in the kernel with successive elements in the data:

 In[2]:=
 Out[2]=

 In[1]:=
 Out[1]=

Two-dimensional convolution:

 In[1]:=
 Out[1]=