ListConvolve
Usage
• 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.
Notes
• 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, { , }] 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, { , }, 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 | { , , ... } | 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, {{ , , ... }, { , , ... }}] 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. • New in Version 4.
|