NumPy - Finding LCM with ufunc



Finding LCM with Universal Function

NumPy provides a universal function (ufunc) called numpy.lcm() to compute the Least Common Multiple (LCM) of two arrays element-wise. The LCM of two integers is the smallest positive integer that is divisible by both numbers.

This function is particularly useful when working with arrays of integers where you need to find the LCM of corresponding elements.

The NumPy lcm() Function

The numpy.lcm() function is used to compute the element-wise Least Common Multiple of two arrays. It returns a new array containing the LCM of the corresponding elements from the input arrays.

Example

In the following example, we use the numpy.lcm() function to find the LCM of elements in two arrays −

import numpy as np

# Define two arrays
a = np.array([4, 6, 8])
b = np.array([6, 8, 10])

# Compute the element-wise LCM
lcm_result = np.lcm(a, b)

print("LCM of arrays:", lcm_result)

Following is the output obtained −

LCM of arrays: [12 24 40]

NumPy lcm() Function with Scalars

The numpy.lcm() function can also be used with scalar values to compute the LCM of two single integers. It works the same way as with arrays, returning the LCM of the given scalars.

Example

In the following example, we use the numpy.lcm() function to find the LCM of two scalar values −

import numpy as np

# Define two scalars
a = 15
b = 20

# Compute the LCM of the scalars
lcm_result = np.lcm(a, b)

print("LCM of scalars:", lcm_result)

This will produce the following result −

LCM of scalars: 60

LCM of Multi-dimensional Arrays

The numpy.lcm() function can also be applied to multi-dimensional arrays. It computes the LCM for each corresponding element in the arrays, handling arrays of any shape as long as they are broadcastable to a common shape.

Example

In the following example, we use the numpy.lcm() function to compute the LCM of two 2D arrays element-wise −

import numpy as np

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

# Compute the element-wise LCM
lcm_result = np.lcm(a, b)

print("LCM of 2D arrays:\n", lcm_result)

The result will be as follows −

LCM of 2D arrays:
[[ 6  8]
 [10 12]]

The NumPy lcm.reduce() Function

The numpy.lcm.reduce() function computes the LCM of array elements along a specified axis. This is useful for finding the LCM of multiple elements within an array.

Example

In the following example, we use the numpy.lcm.reduce() function to find the LCM of all elements in an array −

import numpy as np

# Define an array
a = np.array([12, 15, 20])

# Compute the LCM of all elements
lcm_result = np.lcm.reduce(a)

print("LCM of all elements:", lcm_result)

This will produce the following result −

LCM of all elements: 60
Advertisements