NumPy - Trigonometric ufunc



Trigonometric Universal Functions (ufunc)

Trigonometric universal functions (ufuncs) in NumPy are functions that perform trigonometric operations on each element of an array. These functions can calculate various trigonometric values such as sine, cosine, tangent, and their inverses for each element in the input array.

These functions operate element-wise on arrays and are optimized for performance, making them much faster than using Python loops.

NumPy Sine Function

The numpy.sin() function is used to calculate the sine of each element in an array. The input values are assumed to be in radians.

The sine of an angle in a right-angled triangle is the ratio of the length of the opposite side to the hypotenuse. It is denoted as sin().

Example

In the following example, we use the numpy.sin() function to calculate the sine of each element in an array −

import numpy as np

# Define an array of angles in radians
angles = np.array([0, np.pi/2, np.pi, 3*np.pi/2])

# Calculate the sine of each angle
sine_values = np.sin(angles)

print("Sine values:", sine_values)

Following is the output obtained −

Sine values: [ 0.0000000e+00  1.0000000e+00  1.2246468e-16 -1.0000000e+00]

NumPy Cosine Function

The numpy.cos() function is used to calculate the cosine of each element in an array.

The cosine of an angle in a right-angled triangle is the ratio of the length of the adjacent side to the hypotenuse. It is denoted as cos().

Example

In the following example, we use the numpy.cos() function to calculate the cosine of each element in an array −

import numpy as np

# Define an array of angles in radians
angles = np.array([0, np.pi/2, np.pi, 3*np.pi/2])

# Calculate the cosine of each angle
cosine_values = np.cos(angles)

print("Cosine values:", cosine_values)

This will produce the following result −

Cosine values: [ 1.0000000e+00  6.1232340e-17 -1.0000000e+00 -1.8369702e-16]

NumPy Tangent Function

The numpy.tan() function is used to calculate the tangent of each element in an array.

The tangent of an angle in a right-angled triangle is the ratio of the length of the opposite side to the adjacent side. It is denoted as tan().

Example

In the following example, we use the numpy.tan() function to calculate the tangent of each element in an array −

import numpy as np

# Define an array of angles in radians
angles = np.array([0, np.pi/4, np.pi/2, np.pi])

# Calculate the tangent of each angle
tangent_values = np.tan(angles)

print("Tangent values:", tangent_values)

The result produced is as follows −

Tangent values: [ 0.00000000e+00  1.00000000e+00  1.63312394e+16 -1.22464680e-16]
NumPy also provides functions for calculating the inverse trigonometric functions (arcsine, arccosine, and arctangent) of array elements. These functions return the angle in radians for a given trigonometric value.

NumPy Arcsine Function

The numpy.arcsin() function is used to calculate the inverse sine of each element in an array, returning the angle in radians.

The arcsine is the inverse function of sine, which returns the angle whose sine is a given number. It is denoted as arcsin(x) or sin(x).

Example

In this example, we use the numpy.arcsin() function to calculate the inverse sine of each element in an array −

import numpy as np

# Define an array of angles in radians
angles = np.array([0, np.pi/4, np.pi/2, np.pi])

# Calculate the Inverse Sine of each angle
inverse_sine_values = np.arcsin(angles)

print("Inverse Sine values:", inverse_sine_values)

We get the output as shown below −

Inverse Sine values: [0.         0.90333911        nan        nan]

NumPy Arccosine Function

The numpy.arccos() function is used to calculate the inverse cosine of each element in an array, returning the angle in radians.

The arccosine is the inverse function of cosine, which returns the angle whose cosine is a given number. It is denoted as arccos(x) or cos(x).

Example

In this example, we use the numpy.arccos() function to calculate the inverse cosine of each element in an array −

import numpy as np

# Define an array of angles in radians
angles = np.array([0, np.pi/4, np.pi/2, np.pi])

# Calculate the Inverse Cosine of each angle
inverse_cosine_values = np.arccos(angles)

print("Inverse Cosine values:", inverse_cosine_values)

After executing the above code, we get the following output −

Inverse Cosine values: [1.57079633 0.66745722        nan        nan]

NumPy Arctangent Function

The numpy.arctan() function is used to calculate the inverse tangent of each element in an array, returning the angle in radians.

The arctangent is the inverse function of tangent, which returns the angle whose tangent is a given number. It is denoted as arctan(x) or tan(x).

Example

In the example below, we use the numpy.arctan() function to calculate the inverse tangent of each element in an array −

import numpy as np

# Define an array of angles in radians
angles = np.array([0, np.pi/4, np.pi/2, np.pi])

# Calculate the Inverse Tangent of each angle
inverse_tangent_values = np.arctan(angles)

print("Inverse Tangent values:", inverse_tangent_values)

After executing the above code, we get the following output −

Inverse Tangent values: [0.         0.66577375 1.00388482 1.26262726]

NumPy Hyperbolic Functions

Hyperbolic functions are mathematical functions similar to trigonometric functions but based on hyperbolas instead of circles.

NumPy also provides functions for calculating the hyperbolic sine (sinh), hyperbolic cosine (cosh), and hyperbolic tangent (tanh), along with their inverses for array elements. These functions are analogous to the trigonometric functions but are applied to hyperbolic angles.

Example

In the following example, we use the numpy.sinh(), numpy.cosh(), and numpy.tanh() functions to calculate the hyperbolic values of elements in an array −

import numpy as np

# Define an array of values
values = np.array([0, 1, 2])

# Calculate the hyperbolic values
sinh_values = np.sinh(values)
cosh_values = np.cosh(values)
tanh_values = np.tanh(values)

print("Hyperbolic sine values:", sinh_values)
print("Hyperbolic cosine values:", cosh_values)
print("Hyperbolic tangent values:", tanh_values)

This will produce the following result −

Hyperbolic sine values: [0.         1.17520119 3.62686041]
Hyperbolic cosine values: [1.         1.54308063 3.76219569]
Hyperbolic tangent values: [0.         0.76159416 0.96402758]
Advertisements