dpnp.log1p
- dpnp.log1p(x, out=None, where=True, order='K', dtype=None, subok=True, **kwargs)
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}, 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 \(\log(1 + x)\) 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.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 yieldsNaN
.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)