numpy.logaddexp() in Python
Last Updated :
28 Nov, 2018
numpy.logaddexp() function is used to calculate Logarithm of the sum of exponentiations of the inputs.
This function is useful in statistics where the calculated probabilities of events may be so small as to exceed the range of normal floating point numbers. In such cases, the logarithm of the calculated probability is stored. This function allows adding probabilities stored in such a fashion. It Calculates log(exp(arr1) + exp(arr2))
.
Syntax : numpy.logaddexp(arr1, arr2, /, out=None, *, where=True, casting=’same_kind’, order=’K’, dtype=None, ufunc ‘logaddexp’)
Parameters :
arr1 : [array_like] Input array.
arr2 : [array_like] Input array.
out : [ndarray, optional] A location into which the result is stored.
-> If provided, it must have a shape that the inputs broadcast to.
-> If not provided or None, a freshly-allocated array is returned.
where : [array_like, optional] True value means to calculate the universal functions(ufunc) at that position, False value means to leave the value in the output alone.
**kwargs : allows you to pass keyword variable length of argument to a function. It is used when we want to handle named argument in a function.
Return : [ndarray or scalar] It returns Logarithm of exp(arr1) + exp(arr2). This is a scalar if both arr1 and arr2 are scalars.
Code #1 :
import numpy as np
in_num1 = 2
in_num2 = 3
print ( "Input number1 : " , in_num1)
print ( "Input number2 : " , in_num2)
out_num = np.logaddexp(in_num1, in_num2)
print ( "Output number : " , out_num)
|
Output :
Input number1 : 2
Input number2 : 3
Output number : 3.31326168752
Code #2 :
import numpy as np
in_arr1 = [ 2 , 3 , 8 ]
in_arr2 = [ 1 , 2 , 3 ]
print ( "Input array1 : " , in_arr1)
print ( "Input array2 : " , in_arr2)
out_arr = np.logaddexp(in_arr1, in_arr2)
print ( "Output array : " , out_arr)
|
Output :
Input array1 : [2, 3, 8]
Input array2 : [1, 2, 3]
Output array : [ 2.31326169 3.31326169 8.00671535]
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...