jax.numpy.convolve

Contents

jax.numpy.convolve#

jax.numpy.convolve(a, v, mode='full', *, precision=None, preferred_element_type=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 to None, which means default precision for the backend, a Precision enum value (Precision.DEFAULT, Precision.HIGH or Precision.HIGHEST) or a tuple of two Precision 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.

  • preferred_element_type (dtype, optional) – If specified, accumulate results and return a result of the given data type. If not specified, the function instead follows the numpy convention of always accumulating results and returning an inexact dtype.

  • precision (PrecisionLike)

Returns:

out – Discrete, linear convolution of a and v.

Return type:

ndarray

References