This is documentation for Mathematica 6, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.1)


ListConvolve[ker, list]
forms the convolution of the kernel ker with list.
ListConvolve[ker, list, k]
forms the cyclic convolution in which the k^(th) 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:
ppad with repetitions of a single element
{p1,p2,...}pad with cyclic repetitions of a sequence of elements
listpad 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.
New in 4