megengine.functional.atan

atan(x)[源代码]

逐元素 \(\arctan(x)\) 函数。

对输入张量 \(x\) 的每个元素 \(x_i\) 计算正切函数的反函数的近似值。每个元素的结果以弧度表示。

这个函数具有定义域 (-infinity, +infinity) 和值域 [-pi/2, pi/2]

\(\tan\) 的反函数,使得如果 \(y = \tan(x)\) ,那么:math:x = arctan(y)

参数

x – 输入 tensor。应该具有 float 数据类型。

返回

一个包含 \(x\) 中每个元素的反正切的张量。返回的张量一定具有被 类型提升规则 决定的浮点数据类型

特殊的案例

对于浮点数的操作,

  • \(x_i\)NaN,则结果为 NaN

  • 如果 \(x_i\)+0 ,那么结果是 +0

  • 如果 \(x_i\)-0 ,那么结果是 -0

  • 如果 \(x_i\)+infinity ,那么结果近似为 +π/2

  • 如果 \(x_i\)-infinity ,那么结果近似为 -π/2

实际案例

>>> F.atan(0)
Tensor(0.0, device=xpux:0)

逐元素反正切函数:

>>> x = Tensor([0, 1, -1])
>>> F.atan(x)
Tensor([ 0.      0.7854 -0.7854], device=xpux:0)