How can I represent an infinite number in Python?



In this article, we will show you how to represent an infinite number in python.

Infinity is an undefined number that can be either positive or negative. A number is used to represent infinity; the sum of two numeric values may be a numeric but distinct pattern; it may have a negative or positive value.

All arithmetic operations on an infinite value, whether sum, subtraction, multiplication or any other operation, always result in an infinite number.

In the field of computer science, infinity is commonly used to evaluate and optimize algorithms that do calculations on a huge scale.

Infinity in Python

The reason why infinity is a float data type rather than an int data type is due to the way integers is represented in Python. An integer number is represented in binary, for example, the value 7 is represented as 0111.

There is no way to represent infinity as an integer in Python. This is a fundamental feature of several other popular programming languages. However, because Python is a dynamically typed language, you can express infinity with float(inf) as an integer.

As a result, we cannot represent infinity in Python, or we might say that there is no way to represent infinity as an integer. However, float (inf) can be used as an integer.

Positive Infinity: inf
Negative Infinity: -inf

Representing Inifinite number using float(‘inf’)

Because infinity can be both positive and negative, it can be expressed as a float('inf') and a float('-inf') respectively.

Algorithm (Steps)

Following are the Algorithm/steps to be followed to perform the desired task −

  • Use the float('inf') to get a positive infinite integer value and create a variable to store it.

  • Print the positive infinity value.

  • Use the float('-inf') to get a negative infinite integer value and create a variable to store it.

  • Print the negative infinity value.

Example

The following program returns the positive Infinity value using float('inf')

# getting a positive infinite integer value using the float(inf) function positiveInfinity = float('inf') # printing a positive infinite integer value print('Positive Infinity value = ', positiveInfinity) # getting a negative infinite integer value negativeInfinity = float('-inf') # printing a negative infinite integer value print('Negative Infinity value = ', negativeInfinity)

Output

On executing, the above program will generate the following output −

Positive Infinity value = inf
Negative Infinity value = -inf

Representing Inifinite number using the math module

We can use the math module to represent an infinite value, however, it only works with Python 3.5 or higher. Because infinite can be both positive and negative, it is denoted by math.inf and -math.inf respectively.

Example

# importing math module import math # printing a positive infinite integer value using math.inf print('Positive Infinity value = ', math.inf) # printing a negative infinite integer value using -math.inf print('Negative Infinity value = ', -math.inf)

Output

On executing, the above program will generate the following output −

Positive Infinity value = inf
Negative Infinity value = -inf

Representing Inifinite number using the Decimal() function

We use Decimal('Infinity') for positive infinite and Decimal('-Infinity') for negative infinite to represent infinite using the decimal module.

Example

# importing Decimal from the decimal module from decimal import Decimal # printing a positive infinite integer value using the Decimal() function print('Positive Infinity value = ', Decimal('Infinity')) # printing a negative infinite integer value using the Decimal() function print('Negative Infinity value = ', Decimal('-Infinity'))

Output

On executing, the above program will generate the following output −

Positive Infinity value = Infinity
Negative Infinity value = -Infinity

Representing Inifinite number using NumPy module

Another way to represent infinite in Python is via the NumPy module, where np.inf and -np.inf represent positive and negative infinite, respectively.

NumPy is a Python library designed to work efficiently with arrays in Python. It is fast, simple to learn, and efficient in storage.

Example

# importing NumPy module import numpy as np # printing a positive infinite integer value using numpy.inf print('Positive Infinity value = ', np.inf) # printing a negative infinite integer value using -numpy.inf print('Negative Infinity value = ', -np.inf)

Output

On executing, the above program will generate the following output −

Positive Infinity value = inf
Negative Infinity value = -inf

Check If a Number Is Infinite in Python

To determine whether a given number is infinite or not, use the math library's isinf() method, which returns a boolean value.

Example

# importing numpy and math modules import numpy as np import math # creating a positive infinite integer using numpy.inf x = np.inf # creating a negative infinite integer using -numpy.inf y = -np.inf # finite integer z = 40 # checking whether x is infinite number using isinf() function print(math.isinf(x)) # checking whether y is infinite number using isinf() function print(math.isinf(y)) # checking whether z is infinite number using isinf() function print(math.isinf(z))

Output

On executing, the above program will generate the following output −

True
True
False

Comparison of infinite and finite values in python

The idea of comparing an infinite value to a finite value is as easy as it gets. Because positive infinity is always greater than any natural number and negative infinity is always smaller than negative numbers

Example

# importing numpy module import numpy as np # creating a positive infinite integer using numpy.inf x = np.inf # creating a negative infinite integer using -numpy.inf y = -np.inf # positive finite integer z = 40 # negative finite integer k = -40 # creating a function to compare two numbers(positive and negative infinity) # by accepting 2 numbers as arguments def compareNumbers(p, q): # checking if p is greater than q i,e, a first number greater than the second if p>q: # printing True if it is greater print("True") else: # printing False if it is Not greater(less) print("False") # calling the compareNumbers() by passing any of the 2 # above defined variables for comparison compareNumbers(x, y) compareNumbers(x, z) compareNumbers(y, k) compareNumbers(x, k) compareNumbers(y, z)

Output

On executing, the above program will generate the following output −

True
True
False
True
False

Conclusion

In this article, we learnt how to represent infinity in Python using several ways. We also learned how to compare infinite and finite values and how to determine whether a given integer is infinite or not.


Advertisements