NumPy | logaddexp method
Start your free 7-days trial now!
Numpy's logaddexp(~)
method computes log(exp(x1)+exp(x2))
, where x1
and x2
are the input arrays. This expression is useful because it often crops up in statistics.
Parameters
1. x1
| array-like
The first input array.
2. x1
| array-like
The second input array.
3. out
| Numpy array
| optional
Instead of creating a new array, you can place the computed result into the array specified by out
.
4. where
| array
of boolean
| optional
Values that are flagged as False will be ignored, that is, their original value will be uninitialized. If you specified the out parameter, the behavior is slightly different - the original value will be kept intact. Since this is a source of confusion for many, check examples below.
Return value
A Numpy array that contains the result of log(p+1)
where p
is each value in the input array.
Examples
Basic usage
np.logaddexp([1,2],[3,4])
array([3.12692801, 4.12692801])
Specifying an output array
a = np.zeros(2)np.logaddexp([1,2], [3,4], out=a)a
array([3.12692801, 4.12692801])
Here, we've output the result into array a
.
Specifying a boolean mask
np.logaddexp([1,2,3], [4,5,6], where=[False, True, False])
array([20.00000011, 5.04858735, 6.04858735])
Here, only the second number was used for calculation since it has a corresponding boolean of True
in the mask. You should notice how the values with False
yielded strange results - in fact, you should disregard them because they are uninitialized numbers that are of no practical use.
Now, if you specified the out parameter, instead of uninitalized values, the original values will be left intact:
a = np.zeros(3)np.logaddexp([1,2,3], [4,5,6], out=a, where=[False, True, False])a
array([0. , 5.04858735, 0. ])