mars.tensor.log1p#
- mars.tensor.log1p(x, out=None, where=None, **kwargs)[来源]#
逐元素返回输入张量加一的自然对数。
计算
log(1 + x)。- Parameters
x (array_like) – 输入值。
out (Tensor, None, 或 tuple 的 Tensor 和 None, 可选) – 结果存储的位置。如果提供,它必须具有和输入相同的广播形状。如果未提供或None,将返回一个新分配的张量。元组(仅作为关键字参数可能)必须具有与输出数量相等的长度。
where (array_like, 可选) – 值为 True 表示在该位置计算 ufunc,值为 False 表示保持输出中的该值不变。
**kwargs –
- Returns
y – 自然对数 1 + x,逐元素计算。
- Return type
张量
另请参阅
expm1exp(x) - 1, log1p 的反函数。
备注
对于实数值输入,log1p 对于 x 的值也很准确,甚至当 1 + x == 1 在浮点精度下成立时。
对数是一个多值函数:对于每个 x,都有无限多个 z 满足 exp(z) = 1 + x。约定是返回 z,其虚部位于 [-pi, pi] 之间。
对于实值输入数据类型, log1p 总是返回实数输出。 对于每个无法表示为实数或无穷大的值, 它返回
nan并设置 invalid 浮点错误标志。对于复值输入,log1p 是一个复分析函数,其分支切割为 [-inf, -1],并且在其上是从上方连续的。log1p 将浮点负零视为一个无穷小的负数,符合C99标准。
参考文献
- 1
M. Abramowitz 和 I.A. Stegun,《数学函数手册》, 第10次印刷,1964,第67页。 http://www.math.sfu.ca/~cbm/aands/
- 2
维基百科,“对数”。 http://en.wikipedia.org/wiki/Logarithm
示例
>>> import mars.tensor as mt
>>> mt.log1p(1e-99).execute() 1e-99 >>> mt.log(1 + 1e-99).execute() 0.0