jax.numpy.convolve
jax.numpy.convolve#
- jax.numpy.convolve(a, v, mode='full', *, precision=None)[source]#
Returns the discrete, linear convolution of two one-dimensional sequences.
LAX-backend implementation of
numpy.convolve()
.In addition to the original NumPy arguments listed below, also supports
precision
for extra control over matrix-multiplication precision on supported devices.precision
may be set toNone
, which means default precision for the backend, aPrecision
enum value (Precision.DEFAULT
,Precision.HIGH
orPrecision.HIGHEST
) or a tuple of twoPrecision
enums indicating separate precision for each argument.Original docstring below.
The convolution operator is often seen in signal processing, where it models the effect of a linear time-invariant system on a signal 1. In probability theory, the sum of two independent random variables is distributed according to the convolution of their individual distributions.
If v is longer than a, the arrays are swapped before computation.
- Parameters
a ((N,) array_like) – First one-dimensional input array.
v ((M,) array_like) – Second one-dimensional input array.
mode ({'full', 'valid', 'same'}, optional) –
- ‘full’:
By default, mode is ‘full’. This returns the convolution at each point of overlap, with an output shape of (N+M-1,). At the end-points of the convolution, the signals do not overlap completely, and boundary effects may be seen.
- ’same’:
Mode ‘same’ returns output of length
max(M, N)
. Boundary effects are still visible.- ’valid’:
Mode ‘valid’ returns output of length
max(M, N) - min(M, N) + 1
. The convolution product is only given for points where the signals overlap completely. Values outside the signal boundary have no effect.
- Returns
out – Discrete, linear convolution of a and v.
- Return type
ndarray
References
- 1
Wikipedia, “Convolution”, https://en.wikipedia.org/wiki/Convolution