mindspore.ops.polar

mindspore.ops.polar(abs, angle)[source]

Converts polar coordinates to Cartesian coordinates.

Returns a complex tensor, its elements are Cartesian coordinates constructed with the polar coordinates which is specified by radial distance abs and polar angle angle.

\[y_{i} = abs_{i} * \cos(angle_{i}) + abs_{i} * \sin(angle_{i}) * j\]
Parameters
  • abs (Tensor) – Radial distance. The shape of tensor is \((N,*)\) where \(N\) means the batchsize of the input tensor, \(*\) means, any number of additional dimensions. Must be one of the following types: float32, float64.

  • angle (Tensor) – Polar angle. It has the same shape and dtype as abs.

Returns

Tensor, has the same shape as abs.

  • If the inputs are float32, data type must be complex64.

  • If the inputs are float64, data type must be complex128.

Raises
  • TypeError – If neither abs nor angle is a Tensor.

  • TypeError – If the dtype of input is not one of: float32, float64.

  • TypeError – If the dtypes of abs and angle are not the same.

  • ValueError – If abs's shape is not the same as angle.

Supported Platforms:

GPU CPU

Examples

>>> 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]