ListCorrelate

ListCorrelate[ker,list]

forms the correlation of the kernel ker with list.

ListCorrelate[ker,list,k]

forms the cyclic correlation in which the k^(th) element of ker is aligned with each element in list.

ListCorrelate[ker,list,{kL,kR}]

forms the cyclic correlation whose first element contains list[[1]]ker[[kL]] and whose last element contains list[[-1]]ker[[kR]].

ListCorrelate[ker,list,klist,p]

forms the correlation in which list is padded at each end with repetitions of the element p.

ListCorrelate[ker,list,klist,{p1,p2,}]

forms the correlation in which list is padded at each end with cyclic repetitions of the pi.

ListCorrelate[ker,list,klist,padding,g,h]

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

ListCorrelate[ker,list,klist,padding,g,h,lev]

forms a correlation using elements at level lev in ker and list.

Details

  • With kernel Kr and list as, ListCorrelate[ker,list] computes , where the limits of the sum are such that the kernel never overhangs either end of the list.
  • For a onedimensional list ListCorrelate[ker,list] is equivalent to ListConvolve[Reverse[ker],list].
  • For higher-dimensional lists, ker must be reversed at every level.
  • Settings for kL and kR are negated in ListConvolve relative to ListCorrelate.
  • Common settings for {kL,kR} in ListCorrelate are:
  • {1,-1}no overhangs (default)
    {1,1}maximal overhang at the righthand end
    {-1,-1}maximal overhang at the lefthand end
    {-1,1}maximal overhangs at both beginning and end

Examples

open allclose all

Basic Examples  (4)

Correlate a kernel {x,y} with a list of data:

In[1]:=
Click for copyable input
Out[1]=

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

In[1]:=
Click for copyable input
Out[1]=

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

In[2]:=
Click for copyable input
Out[2]=

Pad with zzz instead of using the data cyclically:

In[1]:=
Click for copyable input
Out[1]=

Two-dimensional correlation:

In[1]:=
Click for copyable input
Out[1]=

Scope  (5)

Generalizations & Extensions  (4)

Applications  (6)

Properties & Relations  (2)

See Also

ListConvolve  LinearRecurrence  MovingAverage  Partition  Accumulate  Differences  Inner  CellularAutomaton  PadLeft

Tutorials

Introduced in 1999
(4.0)