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 exponents for each element x1_i of the input array x1 with the respective element x2_i of the input array x2.

This function calculates log(exp(x1) + exp(x2)) more accurately for small values of x.

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. Both inputs x1 and x2 can not be scalars at the same time.

  • x2 ({dpnp.ndarray, usm_ndarray, scalar}) -- Second input array, also expected to have a real-valued floating-point data type. Both inputs x1 and x2 can not be scalars at the same time. If x1.shape != x2.shape, they must be broadcastable to a common shape (which becomes the shape of the output).

  • 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 ({"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 arguments kwargs are currently unsupported. Otherwise NotImplementedError exception will be raised.

See also

dpnp.log

Natural logarithm, element-wise.

dpnp.exp

Exponential, element-wise.

dpnp.logaddexp2

Logarithm of the sum of exponentiation of inputs in base-2, element-wise.

dpnp.logsumexp

Logarithm of the sum of exponents of elements in the input array.

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)