Logarithm of the sum of exponentiations of the inputs in base-2 in Numpy

NumpyServer Side ProgrammingProgramming

To get the Logarithm of the sum of exponentiations of the inputs in base 2, use the numpy.logaddexp() method in Python Numpy.

Calculates log2(2**x1 + 2**x2). This function is useful in machine learning when the calculated probabilities of events may be so small as to exceed the range of normal floating-point numbers. In such cases the base-2 logarithm of the calculated probability can be used instead. This function allows adding probabilities stored in such a fashion.

NumPy offers comprehensive mathematical functions, random number generators, linear algebra routines, Fourier transforms, and more. It supports a wide range of hardware and computing platforms, and plays well with distributed, GPU, and sparse array libraries.

Steps

At first, import the required library −

import numpy as np

Log2 input −

one = np.log2(2e-50)
two = np.log2(3.2e-50)

Display the log input −

print("Value 1...\n", one)
print("Value 2...\n", two)

To get the Logarithm of the sum of exponentiations of the inputs in base 2, use the numpy.logaddexp() method −

res = np.logaddexp(one, two)
print("\nLogarithm of the sum of exponentiations of the inputs in base 2...\n",res)

Example

import numpy as np

# Calculates log2(2**x1 + 2**x2).
# This function is useful in machine learning when the calculated probabilities of events may be so small
# as to exceed the range of normal floating point numbers.
# In such cases the base-2 logarithm of the calculated probability can be used instead.
# This function allows adding probabilities stored in such a fashion.

# Log2 input
one = np.log2(2e-50)
two = np.log2(3.2e-50)

# Display the log input
print("Value 1...\n", one)
print("Value 2...\n", two)

# To get the Logarithm of the sum of exponentiations of the inputs in base 2, use the numpy.logaddexp() method in Python Numpy
res = np.logaddexp(one, two)
print("\nLogarithm of the sum of exponentiations of the inputs in base 2...\n",res)

Output

Value 1...
-165.09640474436813
Value 2...
-164.41833283925547

Logarithm of the sum of exponentiations of the inputs in base 2...
-164.00781734564688
raja
Updated on 07-Feb-2022 10:46:23

Advertisements