Numpy is the best python module that allows you to do any mathematical calculations on your arrays. For example, you can convert NumPy array to the image, NumPy array, NumPy array to python list, and many things. But here in this tutorial, I will show you how to use the NumPy gradient with simple examples using the * numpy.gradient() *method.

## What is Gradient?

In mathematics, Gradient is a vector that contains the partial derivatives of all variables. Like in 2- D you have a gradient of two vectors, in 3-D 3 vectors, and show on.

In NumPy, the gradient is computed using central differences in the interior and it is of first or second differences (forward or backward) at the boundaries. Let’s calculate the gradient of a function using* numpy.gradient() *method. But before that know the syntax of the gradient() method.

`numpy.gradient(f, *varargs, axis=None, edge_order=1)`

The numpy.gradient() function accepts the following important parameters.

**f:** The input array on which you want to calculate the gradient.

**varargs:** It is list of scalar or array.

**axis:** Either 0 or 1 to do calculation row-wise or column-wise. The default value is None.

**edge_order:** {1, 2}, and it is optional. The gradient is calculated using N-th order accurate differences at the boundaries. Default value is 1.

## Step by Step to calculate Numpy Gradient

Here you will know all the steps to compute numpy gradient of an array. Just follow the below steps.

### Step 1: Import all the necessary libraries

Here I am using only NumPy python modules so importing it only.

`import numpy as np`

### Step 2: Create a Dummy Numpy Array.

For the demonstration purpose lets the first create a NumPy array to calculate the numpy gradient. You can create a NumPy array using* numpy.array()* method like below.

**Example 1: Simple Numpy Array Gradient.**

`numpy_array = np.array([1, 2, 4, 7, 11, 16], dtype=float)`

**First-order Differences Gradient**

`np.gradient(numpy_array)`

**Second-Order Differences Gradient**

`np.gradient(numpy_array,2)`

**Example 2: Calculation of Gradient using other NumPy array.**

You can also calculate the gradient of a NumPy array with another NumPy array. Let’s create a second NumPy array.

`numpy_array2 = np.array([2, 1, 5, 10, 11, 15], dtype=float)`

`np.gradient(numpy_array,numpy_array2)`

**Example 3: Gradient for the N-dimensional NumPy array**

You can also calculate the gradient for the N dimension NumPy array. The gradient will of the same dimension as the dimension array. Let’s create a two-dimensional NumPy array.

`numpy_array_2d = np.array([[10,20,30],[40,50,60]],dtype=float)`

Use the code below to calculate the gradient.

`np.gradient(numpy_array_2d)`

The above code will return two arrays. The first one is the gradient of all the row values and the second one is the gradient along the column.

If you want to calculate row-wise then pass the ** axis =0** as an argument to the

*method and for column-wise axis =1.*

**gradient()**These are some basic examples that show you how to calculate numpy gradient of a NumPy array. If you have also a dataset or excel file then you can read it using the pandas module and then extract data as a NumPy array.

Hope you have liked this article if you have any query or wants to know more then please contact us. We are always ready for help.

## Other Examples

### Numpy gradient of a function

Just like you can find the gradient for a single or multidimensional array. You can also find the NumPy gradient of a function using * numdifftools *python package. Suppose I have a function that returns polynomial expression on x. To find the gradient of the function I will pass the function name as an argument to the

*method with the value in the square bracket.*

**Gradient()**Execute the below lines of code.

```
import numdifftools as nd
def f1(x):
return x**2 + 1
grad = nd.Gradient(f1)([1])
print(grad)
```

**Output**

#### Join our list

Subscribe to our mailing list and get interesting stuff and updates to your email inbox.