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.