PyTorch is an open-source framework available with a Python programming language. Tensor is a multidimensional array that is used to store the data. To use a tensor, we have to import the torch module. To create a tensor, the method used is tensor().

**Syntax:**

Where the data is a multi-dimensional array.

**Torch.lcm()**

Lcm() in PyTorch is used to return the least common multiples from both the elements in two tensor objects.

**Syntax:**

Where:

- tensor_object1 is the first tensor
- tensor_object2 is the second tensor

**Return:**

It also returns the least common multiples from the two tensors.

**Example 1:**

In this example, we will create two tensors with one dimension that has 5 elements each and perform the lcm() operation on them.

import torch

#create two 1D tensors

data1 = torch.tensor([1,2,3,4,5])

data2 = torch.tensor([34,45,3,40,10])

#display

print("Actual Tensors: ")

print(data1)

print(data2)

print("LCM")

#return least common multiples

print(torch.lcm(data1,data2))

**Output:**

tensor([1, 2, 3, 4, 5])

tensor([34, 45, 3, 40, 10])

LCM

tensor([34, 90, 3, 40, 10])

** Working:**

- lcm(1,34) – 34
- lcm(2,45) – 90
- lcm(3,3) – 3
- lcm(4,40) – 40
- lcm(5,10) – 10

It is also possible to return the LCM with one element that computes with each and every element.

**Example 2:**

In this example, we will create two tensors with one dimension that has 5 elements in the first tensor and one element in the second tensor, and perform the lcm() operation on them.

import torch

#create two 1D tensors

data1 = torch.tensor([1,2,3,4,5])

data2 = torch.tensor([10])

#display

print("Actual Tensors: ")

print(data1)

print(data2)

print("LCM")

#return least common multiples

print(torch.lcm(data1,data2))

**Output:**

tensor([1, 2, 3, 4, 5])

tensor([10])

LCM

tensor([10, 10, 30, 20, 10])

**Working:**

- lcm(1,10) -10
- lcm(2,10) – 10
- lcm(3,10) – 30
- lcm(4,10) – 20
- lcm(5,10) – 10

**Example 3:**

In this example, we will create two tensors with 2 dimensions that have 5 elements each and perform the lcm() operation on them.

import torch

#create two 2D tensors

data1 = torch.tensor([[1,2,3,4,5],[45,67,89,87,78]])

data2 = torch.tensor([[134,54,67,65,56],[45,67,89,87,78]])

#display

print("Actual Tensors: ")

print(data1)

print(data2)

print("LCM")

#return least common multiples

print(torch.lcm(data1,data2))

**Output:**

tensor([[ 1, 2, 3, 4, 5],

[45, 67, 89, 87, 78]])

tensor([[134, 54, 67, 65, 56],

[ 45, 67, 89, 87, 78]])

LCM

tensor([[134, 54, 201, 260, 280],

[ 45, 67, 89, 87, 78]])

**Working:**

- lcm(1,134) -134,lcm(45,45) -45
- lcm(2,54) – 54,lcm(67,67) -67
- lcm(3,67) – 201,lcm(89,89) -89
- lcm(4,65) – 260,lcm(87,87) -87
- lcm(5,56) – 280,lcm(78,78) -78

**Work with CPU**

If you want to run an lcm() function on the CPU, we have to create a tensor with a cpu() function. This will run on a CPU machine.

When we are create a tensor, this time, we can use the cpu() function.

**Syntax:**

**Example 1:**

In this example, we will create two tensors with one dimension that has 5 elements each and perform the lcm() operation on them.

import torch

#create two 1D tensors

data1 = torch.tensor([1,2,3,4,5]).cpu()

data2 = torch.tensor([34,45,3,40,10]).cpu()

#display

print("Actual Tensors: ")

print(data1)

print(data2)

print("LCM")

#return least common multiples

print(torch.lcm(data1,data2))

**Output:**

tensor([1, 2, 3, 4, 5])

tensor([34, 45, 3, 40, 10])

LCM

tensor([34, 90, 3, 40, 10])

** Working:**

- lcm(1,34) – 34
- lcm(2,45) – 90
- lcm(3,3) – 3
- lcm(4,40) – 40
- lcm(5,10) – 10

It is also possible to return the LCM with one element that computes with each and every element.

**Example 2:**

In this example, we will create two tensors with one dimension that has 5 elements in the first tensor and one element in the second tensor, and perform the lcm() operation on them.

import torch

#create two 1D tensors

data1 = torch.tensor([1,2,3,4,5]).cpu()

data2 = torch.tensor([10]).cpu()

#display

print("Actual Tensors: ")

print(data1)

print(data2)

print("LCM")

#return least common multiples

print(torch.lcm(data1,data2))

**Output:**

tensor([1, 2, 3, 4, 5])

tensor([10])

LCM

tensor([10, 10, 30, 20, 10])

**Working:**

- lcm(1,10) -10
- lcm(2,10) – 10
- lcm(3,10) – 30
- lcm(4,10) – 20
- lcm(5,10) – 10

**Example 3:**

In this example, we will create two tensors with 2 dimensions that have 5 elements each and perform the lcm() operation on them.

import torch

#create two 2D tensors

data1 = torch.tensor([[1,2,3,4,5],[45,67,89,87,78]]).cpu()

data2 = torch.tensor([[134,54,67,65,56],[45,67,89,87,78]]).cpu()

#display

print("Actual Tensors: ")

print(data1)

print(data2)

print("LCM")

#return least common multiples

print(torch.lcm(data1,data2))

**Output:**

tensor([[ 1, 2, 3, 4, 5],

[45, 67, 89, 87, 78]])

tensor([[134, 54, 67, 65, 56],

[ 45, 67, 89, 87, 78]])

LCM

tensor([[134, 54, 201, 260, 280],

[ 45, 67, 89, 87, 78]])

**Working:**

- lcm(1,134) -134,lcm(45,45) -45
- lcm(2,54) – 54,lcm(67,67) -67
- lcm(3,67) – 201,lcm(89,89) -89
- lcm(4,65) – 260,lcm(87,87) -87
- lcm(5,56) – 280,lcm(78,78) -78

**Conclusion**

In this PyTorch lesson, we learned about the lcm() function and how to apply it on a tensor to return the least common multiple . We also created a tensor with the cpu() function and returned the LCM.