dpnp.logaddexp
- dpnp.logaddexp(x1, x2, out=None, where=True, order='K', dtype=None, subok=True, **kwargs)
Calculates the natural logarithm of the sum of exponentiations \(\log(e^{x1} + e^{x2})\) for each element \(x1_i\) of the input array x1 with the respective element \(x2_i\) of the input array x2.
For full documentation refer to
numpy.logaddexp
.- Parameters:
x1 ({dpnp.ndarray, usm_ndarray, scalar}) -- First input array, expected to have a real-valued floating-point data type.
x2 ({dpnp.ndarray, usm_ndarray, scalar}) -- Second input array, also expected to have a real-valued floating-point data type.
out ({None, dpnp.ndarray, usm_ndarray}, optional) --
Output array to populate. Array must have the correct shape and the expected data type.
Default:
None
.order ({None, "C", "F", "A", "K"}, optional) --
Memory layout of the newly output array, if parameter out is
None
.Default:
"K"
.
- Returns:
out -- An array containing the element-wise results. The data type of the returned array is determined by the Type Promotion Rules.
- Return type:
dpnp.ndarray
Limitations
Parameters where and subok are supported with their default values. Keyword argument kwargs is currently unsupported. Otherwise
NotImplementedError
exception will be raised.See also
dpnp.log
Calculate \(\log(x)\), element-wise.
dpnp.exp
Calculate \(e^x\), element-wise.
dpnp.logaddexp2
Calculate \(\log_2(2^{x1} + 2^{x2})\), element-wise.
dpnp.logsumexp
Logarithm of the sum of exponentials of elements in the input array.
Notes
At least one of x1 or x2 must be an array.
If
x1.shape != x2.shape
, they must be broadcastable to a common shape (which becomes the shape of the output).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 natural logarithm of the calculated probability is stored. This function allows adding probabilities stored in such a fashion.
Examples
>>> import dpnp as np >>> prob1 = np.log(np.array(1e-50)) >>> prob2 = np.log(np.array(2.5e-50)) >>> prob12 = np.logaddexp(prob1, prob2) >>> prob12 array(-113.87649168) >>> np.exp(prob12) array(3.5e-50)