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 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}) – First input array, expected to have a real-valued floating-point data type.

  • x2 ({dpnp.ndarray, usm_ndarray}) – Second input array, also expected to have a real-valued floating-point data type.

  • out ({None, dpnp.ndarray}, optional) – Output array to populate. Array must have the correct shape and the expected data type.

  • 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 result of element-wise result. 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.logsumdexp

Logarithm of the sum of exponentials 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)