mars.tensor.log1p#

mars.tensor.log1p(x, out=None, where=None, **kwargs)[来源]#

逐元素返回输入张量加一的自然对数。

计算 log(1 + x)

Parameters
  • x (array_like) – 输入值。

  • out (Tensor, None, 或 tupleTensor 和 None, 可选) – 结果存储的位置。如果提供,它必须具有和输入相同的广播形状。如果未提供或None,将返回一个新分配的张量。元组(仅作为关键字参数可能)必须具有与输出数量相等的长度。

  • where (array_like, 可选) – 值为 True 表示在该位置计算 ufunc,值为 False 表示保持输出中的该值不变。

  • **kwargs

Returns

y – 自然对数 1 + x,逐元素计算。

Return type

张量

另请参阅

expm1

exp(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