Name

convolve

Synopsis

convolve(a,b,mode=2)

Returns an array c with rank 1, the linear convolution of rank 1 arrays a and b. Linear convolution is defined over unbounded sequences. convolve conceptually extends a and b to infinite length by padding with 0, then clips the infinite-length result to its central part, yielding c. When mode is 2, the default, convolve clips only the padding, so c’s shape is (len( a )+len( b )-1,). Otherwise, convolve clips more. Say len( a ) is greater than or equal to len( b ): when mode is 0, len( c ) is len( a )-len( b )+1; when mode is 1, len( c ) is len( a ). When len( a ) is less than len( b ), the effect is symmetrical. For example:

a = Numeric.arange(6)
b = Numeric.arange(4)
print Numeric.convolve(a, b)          
# prints: [0 0 1 4 10 16 22 22 15]
print Numeric.convolve(a, b, 1)       
# prints: [0 1 4 10 16 22]
print Numeric.convolve(a, b, 0)       # prints: [4 10 16]

Get Python in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.