dpnp.log1p

dpnp.log1p = <DPNPUnaryFunc 'log1p'>

Computes the natural logarithm of (1 + x) for each element \(x_i\) of input array x.

For full documentation refer to numpy.log1p.

Parameters:
x{dpnp.ndarray, usm_ndarray}

Input array, expected to have a floating-point data type.

out{None, dpnp.ndarray, usm_ndarray, tuple of ndarray}, optional

Output array to populate. Array must have the correct shape and the expected data type. A tuple (possible only as a keyword argument) must have length equal to the number of outputs.

Default: None.

order{None, "C", "F", "A", "K"}, optional

Memory layout of the newly output array, if parameter out is None.

Default: "K".

Returns:
outdpnp.ndarray

An array containing the element-wise \(\log(1 + x)\) results. The data type of the returned array is determined by the Type Promotion Rules.

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.expm1

Calculate \(e^x - 1\), element-wise, the inverse of dpnp.log1p.

dpnp.log

Calculate \(\log(x)\), element-wise.

dpnp.log10

Calculate \(\log_{10}(x)\), element-wise.

dpnp.log2

Calculate \(\log_2(x)\), element-wise.

Notes

For real-valued floating-point input data types, dpnp.log1p provides greater precision than \(\log(1 + x)\) for x so small that \(1 + x == 1\).

dpnp.log1p is a multivalued function: for each x there are infinitely many numbers z such that \(e^z = 1 + x\). The convention is to return the z whose the imaginary part lies in the interval \([-\pi, \pi]\).

For real-valued floating-point input data types, dpnp.log1p always returns real output. For each value that cannot be expressed as a real number or nfinity, it yields NaN.

For complex floating-point input data types, dpnp.log1p is a complex analytic function that has, by convention, the branch cuts \((-\infty, 0)\) and is continuous from above on it.

Examples

>>> import dpnp as np
>>> x = np.arange(3.)
>>> np.log1p(x)
array([0.0, 0.69314718, 1.09861229])
>>> np.log1p(array(1e-99))
array(1e-99)
>>> np.log(array(1 + 1e-99))
array(0.0)