NumPy - Arithmetic Universal Function (ufunc)



Arithmetic Universal Function (ufunc)

An arithmetic universal function (ufunc) in NumPy is a special type of function designed to perform basic arithmetic operations (like addition, subtraction, multiplication, and division) element-wise on arrays.

These functions are optimized for performance, allowing them to execute these operations much faster than regular Python loops.

For example, when you use numpy.add() function to add two arrays together, it applies the addition operation to each corresponding pair of elements in the arrays.

NumPy Arithmetic Addition

The numpy.add() function is used to perform element-wise addition of two arrays. It adds corresponding elements of the input arrays and returns a new array with the results.

Example

In the following example, we use numpy.add() function to add two arrays element-wise −

import numpy as np

# Define two arrays
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

# Perform element-wise addition
result = np.add(a, b)

print(result)

Following is the output obtained −

[5 7 9]

NumPy Arithmetic Subtraction

The numpy.subtract() function is used to perform element-wise subtraction of two arrays. It subtracts the elements of the second array from the corresponding elements of the first array and returns a new array with the results.

Example

In the following example, we use numpy.subtract() function to subtract one array from another element-wise −

import numpy as np

# Define two arrays
a = np.array([10, 20, 30])
b = np.array([1, 2, 3])

# Perform element-wise subtraction
result = np.subtract(a, b)

print(result)

This will produce the following result −

[ 9 18 27]

NumPy Arithmetic Multiplication

The numpy.multiply() function is used to perform element-wise multiplication of two arrays. It multiplies corresponding elements of the input arrays and returns a new array with the results.

Example

In the following example, we use numpy.multiply() function to multiply two arrays element-wise −

import numpy as np

# Define two arrays
a = np.array([2, 3, 4])
b = np.array([5, 6, 7])

# Perform element-wise multiplication
result = np.multiply(a, b)

print(result)

Following is the output of the above code −

[10 18 28]

NumPy Arithmetic Division

The numpy.divide() function is used to perform element-wise division of two arrays. It divides the elements of the first array by the corresponding elements of the second array and returns a new array with the results.

Example

In the following example, we use numpy.divide() function to divide one array by another element-wise −

import numpy as np

# Define two arrays
a = np.array([10, 20, 30])
b = np.array([2, 4, 5])

# Perform element-wise division
result = np.divide(a, b)

print(result)

The output obtained is as shown below −

[5. 5. 6.]

Additional Arithmetic ufuncs

Besides the basic arithmetic operations, NumPy also provides other useful ufuncs for more complex mathematical operations, such as power, modulus, and trigonometric functions.

These ufuncs follow the same element-wise operation pattern and provide efficient ways to perform various calculations on arrays.

The numpy.power() Function

The numpy.power() function is used to raise elements of an array to the power of corresponding elements of another array.

Example

In the following example, we use numpy.power() function to raise one array to the power of another element-wise −

import numpy as np

# Define two arrays
a = np.array([2, 3, 4])
b = np.array([3, 2, 1])

# Perform element-wise power operation
result = np.power(a, b)

print(result)

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

[8 9 4]

The numpy.mod() Function

The numpy.mod() function is used to perform element-wise modulus operation, returning the remainder of the division of elements of the first array by corresponding elements of the second array.

Example

In the following example, we use numpy.mod() function to calculate the modulus of two arrays element-wise −

import numpy as np

# Define two arrays
a = np.array([10, 20, 30])
b = np.array([3, 4, 5])

# Perform element-wise modulus operation
result = np.mod(a, b)

print(result)

The result produced is as follows −

[1 0 0]
Advertisements