mindspore.ops.atan2

mindspore.ops.atan2(input, other)[源代码]

逐元素计算input/other的反正切值。

返回 \(\theta\ \in\ [-\pi, \pi]\) ,使得 \(input = r*\sin(\theta), other = r*\cos(\theta)\) ,其中 \(r = \sqrt{input^2 + other^2}\)

说明

  • 参数 inputother 遵循 隐式类型转换规则 ,使数据类型保持一致。如果两参数数据类型不一致,则低精度类型会被转换成较高精度类型。

  • 输入必须是两个Tensor,或一个Tensor和一个Scalar。

  • 当输入是一个Tensor和一个Scalar时,Scalar只能是一个常数。

参数:
  • input (Tensor, Number.number) - 输入Tensor或常数,shape: \((N,*)\) ,其中 \(*\) 表示任何数量的附加维度。

  • other (Tensor, Number.number) - 输入Tensor或常数,shape应能在广播后与 input 相同,或 input 的shape在广播后与 other 相同。

说明

两个参数中,至少有一个需要为Tensor。

返回:

Tensor或常数,与广播后的输入shape相同,和 input 数据类型相同。

异常:
  • TypeError - inputother 不是Tensor或常数。

  • RuntimeError - inputother 之间的数据类型转换不被支持。

支持平台:

Ascend GPU CPU

样例:

>>> input = Tensor(np.array([0, 1]), mindspore.float32)
>>> other = Tensor(np.array([1, 1]), mindspore.float32)
>>> output = ops.atan2(input, other)
>>> print(output)
[0.        0.7853982]