Python numpy.convolve()
function is used to return discrete, linear convolution of two one-dimensional sequences. The NumPy convolve() method accepts three arguments which are arr
, arr1
, and mode
. The convolution operator is often seen in signal processing, where it models the effect of a linear time-invariant system on a signal. In this article, I will explain NumPy convolve()
function used to return discrete the linear convolution of arr and arr1.
1. Quick Examples of Python NumPy convolve() Function
If you are in a hurry, below are some quick examples of how to use Python NumPy convolve() function.
# Below are the quick examples
# Example 1: Use convolve() method in numpy when mode is ‘full’
arr2 = np.convolve(arr, arr1, mode='full')
# Example 2: Use convolve() method in numpy when mode is ‘same’
arr2 = np.convolve(arr, arr1, mode='same')
# Example 3: Use convolve() method in numpy when mode is ‘valid’
arr2 = np.convolve(arr, arr1, mode='valid')
2. Syntax of NumPy convolve()
Following is the syntax of convolve()
function.
# Syntax of numpy.convolve()
numpy.convolve(arr, arr1, mode='full')
2.1 Parameters of NumPy convolve()
The numpy.convolve() function allows the following parameters.
arr -
array_like, first one-dimensional input array.arr1 -
array_like, second one-dimensional input array.mode -
{‘full’, ‘valid’, ‘same’}, optional.full
– It is the 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
– It is the‘same’
mode, the output sequence is of length max(M, N). Boundary effects will still be visible.valid
– Mode ‘valid’ returns output of length max(M, N) – min(M, N) + 1. The convolution product is only given when arr1 and arr1 completely overlap each other. Values that are outside the signal boundary do not affect.
2.2 Return Value of convolve()
The convolve()
function is used to returns discrete linear convolution of arr and arr1 one-dimensional sequences.
3. Use convolve() Method in NumPy when Mode is ‘full’
import numpy as np
arr = np.array([3, 5])
arr1 = np.array([1, 2, 4, 7, 9])
# Use convolve() method in numpy when mode is ‘full’
arr2 = np.convolve(arr, arr1, mode='full')
print(arr2)
Yields below output.
# Output:
First element: 5 * undefined (extrapolated as 0) + 3 * 1 = 3
Second element: 5*1 + 3*2 = 11
Third element: 5*2 + 3*4 = 22
Fourth element: 5*4 + 3*7 = 41
Fifth element: 5*7 + 3*9 = 62
sixth element is: 5*9 + 3* undefined (extrapolated as 0) = 45
# Output:
# [ 3 11 22 41 62 45]
4. Use convolve() Method in NumPy when Mode is ‘same’
# Use convolve() method in numpy when mode is ‘same’
arr2 = np.convolve(arr, arr1, mode='same')
print(arr2)
Yields below output.
# Output:
First element: 5 * undefined (extrapolated as 0) + 3 * 1 = 3
Second element: 5*1 + 3*2 = 11
Third element: 5*2 + 3*4 = 22
Fourth element: 5*4 + 3*7 = 41
Fifth element is : 5*7 + 3*9 = 62
# Output:
[ 3 11 22 41 62]
5. Use convolve() Method in NumPy when Mode is ‘valid’
# Use convolve() method in numpy when mode is ‘valid’
arr2 = np.convolve(arr, arr1, mode='valid')
print(arr2)
Yields below output.
# Output:
First element: 5 * undefined (extrapolated as 0) + 3 * 1 = 3
Second element: 5*1 + 3*2 = 11
Third element: 5*2 + 3*4 = 22
Fourth element: 5*4 + 3*7 = 41
Fifth element is : 5*7 + 3*9 = 62
# Output:
[11 22 41 62]
6. Conclusion
In this article, I have explained how to use numpy.convolve()
function and using how to return discrete, linear convolution values with examples.
Happy Learning!!
Related Articles
- How To Use NumPy dot() Function in Python
- How To Compute Standard Deviation in NumPy
- How to use Python NumPy arange() Function
- How to get median value of an array
- NumPy where() Multiple Conditions