Hello Readers! In this tutorial, we will understand about NumPy arctan function with a lot of examples and we will also plot the graph** **of** **the** arctan** function using Matplotlib Library.

So, let’s get started.

## What is the Arctan?

**arctan**is the representation of the inverse of the tangent(tan) function.- The
**arctan**function takes all real numbers as input and produces the output in the range**(-pi/2, pi/2)**. - An interesting fact to note is that we can extend the arctan function to
**complex numbers**. In such a case, the domain(input) of arctan will be all complex numbers.

## What is NumPy Arctan?

NumPy Arctan is one of the Trigonometric Functions provided by the NumPy Library. NumPy Arctan can take **Real Numbers** and **Complex Numbers** as input.

We can access the NumPy Arctan function as

.**numpy.arctan**

## Syntax of NumPy arctan

**Syntax:**` `

`numpy.arctan(input)`

where input can be a single number or a NumPy array of numbers.

Let’s write some code.

## NumPy arctan of Single Number

```
import numpy as np
import math
print("Printing the Tan inverse values in radians\n")
print("Tan inverse of 0 is :",np.arctan(0))
print("Tan inverse of 0.5 is :",np.arctan(0.5))
print("Tan inverse of 1/sqrt(2) is :",np.arctan(1/math.sqrt(2)))
print("Tan inverse of 1 is :",np.arctan(1))
print("Tan inverse of -1 is :",np.arctan(-1))
# Tan inverse of a very large number
print("Tan inverse of 10000000 is :",np.arctan(10000000))
print("\n")
print("Tan inverse values in degrees\n")
print("Tan inverse of 1/sqrt(2) is :",np.degrees(np.arctan(1/math.sqrt(2))))
print("Tan inverse of -1 is :",np.degrees(np.arctan(-1)))
print("Tan inverse of 10000000 is :",np.degrees(np.arctan(10000000)))
```

**Output**

```
Printing the Tan inverse values in radians
Tan inverse of 0 is : 0.0
Tan inverse of 0.5 is : 0.4636476090008061
Tan inverse of 1/sqrt(2) is : 0.6154797086703873
Tan inverse of 1 is : 0.7853981633974483
Tan inverse of -1 is : -0.7853981633974483
Tan inverse of 10000000 is : 1.5707962267948967
Tan inverse values in degrees
Tan inverse of 1/sqrt(2) is : 35.264389682754654
Tan inverse of -1 is : -45.0
Tan inverse of 10000000 is : 89.99999427042206
```

In the last example, we have calculated the arctan of a very large number i.e. 10,000,000 and the output is pi/2 radians or 90 degrees. This is because the input of the arctan is a very large quantity for which the output tends to be pi/2 radians or 90 degrees.

### NumPy arctan of Complex Number

```
import numpy as np
print("Tan inverse of 1+5j is: ",np.arctan(1+5j))
print("Tan inverse of 2+3j is: ",np.arctan(2+3j))
print("Tan inverse of 0.5+0.5j is: ",np.arctan(0.5+0.5j))
```

**Output**

```
Tan inverse of 1+5j is: (1.530881333938778+0.1944261421470021j)
Tan inverse of 2+3j is: (1.4099210495965755+0.22907268296853878j)
Tan inverse of 0.5+0.5j is: (0.5535743588970452+0.40235947810852507j)
```

## NumPy Arctan on Multiple Numbers

Now, let’s see how can we compute the **arctan** of an array of Numbers.

### Combining NumPy Array with Arctan

```
import numpy as np
import math
a = np.array((-1 , 0 , 1/math.sqrt(3) , math.sqrt(3) , 1))
print("Tan Inverse Values in radians :\n",np.arctan(a))
print("Tan Inverse Values in degrees :\n",np.degrees(np.arctan(a)))
```

**Output**

```
Tan Inverse Values in radians :
[-0.78539816 0. 0.52359878 1.04719755 0.78539816]
Tan Inverse Values in degrees :
[-45. 0. 30. 60. 45.]
```

### Evenly-Spaced NumPy Array

In this example, we will create a NumPy Array of 20 evenly spaced values using

.**numpy.linspace**

```
import numpy as np
a = np.linspace(-2 , 2 , 20)
print("Tan Inverse Values in radians: ",np.arctan(a))
print("Tan Inverse Values in degrees: ",np.degrees(np.arctan(a)))
```

**Output**

```
Tan Inverse Values in radians: [-1.10714872 -1.06120406 -1.00622693 -0.93971694 -0.85843873 -0.75837771
-0.63502674 -0.48447793 -0.30587887 -0.10487694 0.10487694 0.30587887
0.48447793 0.63502674 0.75837771 0.85843873 0.93971694 1.00622693
1.06120406 1.10714872]
Tan Inverse Values in degrees: [-63.43494882 -60.80251395 -57.6525565 -53.84181456 -49.18491613
-43.4518423 -36.38435182 -27.7585406 -17.52556837 -6.00900596
6.00900596 17.52556837 27.7585406 36.38435182 43.4518423
49.18491613 53.84181456 57.6525565 60.80251395 63.43494882]
```

## Visualizing the Arctan Function

```
import numpy as np
# Importing the Matplotlib Library
import matplotlib.pyplot as plt
# Creating a NumPy Array of 30 evenly-spaced elements
a = np.linspace(-10,10,30)
# Storing the computed arctan values in a NumPy Array
b = np.arctan(a)
plt.plot(a, b, color = "green", marker = "o")
plt.title("numpy.arctan()")
plt.xlabel("X")
plt.ylabel("Y")
plt.show()
```

**Output**

**Note: **If you carefully observe the curve you will notice that the **maximum** value of the arctan function is less than **pi/2** and the **minimum** value is greater than **-pi/2**.

the function is used to plot the **plt.plot()****arctan** Function which takes three arguments.

- The
**first**argument is the**NumPy Array of numbers**(created in Line No 3) which is also the input to the**arctan**function plotted on the X-axis(Horizontal Axis). - The
**second**argument is the output of the

function in**arctan****radians**plotted on the Y-axis(Vertical Axis). - The
**third**argument is the color of the plot. - The
**fourth**argument is marker value which emphasizes the points plotted on the curve.

You have successfully plotted and understood the nature of the arctan function.

## Summary

This completes our NumPy Trigonometric Functions tutorial series. In this tutorial, we learned about the arctan function with a lot of example code snippets, practice these codes along with going through the tutorial. By now, you must have become familiar with the NumPy Trigonometric Functions, these are really easy to use 🙂

In the next tutorial, I will be covering one special trigonometric function **arctan2** in detail and with a lot of different examples. Till then keep coding.