mindspore.ops.polar

查看源文件
mindspore.ops.polar(abs, angle)[源代码]

将极坐标转化为笛卡尔坐标。

返回一个复数Tensor,其元素是由输入极坐标构造的笛卡尔坐标。其中极坐标由极径 abs 和极角 angle 给定。

\[y_{i} = abs_{i} * \cos(angle_{i}) + abs_{i} * \sin(angle_{i}) * j\]
参数:
  • abs (Tensor) - 极径。Tensor的shape为 \((N,*)\) ,其中 \(N\) 为输入Tensor的批量大小, \(*\) 为任意数量的额外维度。其数据类型须为:float32、float64。

  • angle (Tensor) - 极角。其shape与数据类型与 abs 一致。

返回:

Tensor,其shape与 abs 一致。

  • 如果输入数据类型是float32,则输出类型为complex64。

  • 如果输入数据类型是float64,则输出类型为complex128。

异常:
  • TypeError - absangle 不是Tensor。

  • TypeError - 输入数据类型不是float32或float64。

  • TypeError - absangle 数据类型不一致。

  • ValueError - absangle 的shape不一致。

支持平台:

GPU CPU

样例:

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> abs = Tensor(np.array([1, 2]), mindspore.float64)
>>> angle = Tensor(np.array([np.pi / 2, 5 * np.pi / 4]), mindspore.float64)
>>> output = ops.polar(abs, angle)
>>> print(output)
[ 6.12323400e-17+1.j         -1.41421356e+00-1.41421356j]