|
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.
Common settings for padlist are:

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.
See Section 3.8.5.
Implementation Notes: see Section A.9.4.
See also: ListCorrelate, Partition, Inner, CellularAutomaton, PadLeft.
New in Version 4.
Further Examples
|