快捷方式

torch.polar

torch.polar(abs, angle, *, out=None) Tensor

构造一个复数张量,其元素是对应于极坐标的笛卡尔坐标,其中绝对值为 abs,角度为 angle

out=abscos(angle)+abssin(angle)j\text{out} = \text{abs} \cdot \cos(\text{angle}) + \text{abs} \cdot \sin(\text{angle}) \cdot j

注意

torch.polar 类似于 std::polar,并且不像 Python 的 cmath.polar 和 SciPy 的 linalg.polar 那样计算复数张量的极分解。如果 abs 为负数或 NaN,或者 angle 为无穷大,则此函数的行为未定义。

参数
  • abs (张量) – 复数张量的绝对值。必须为浮点数或双精度数。

  • angle (张量) – 复数张量的角度。必须与 abs 的数据类型相同。

关键字参数

out (张量) – 如果输入为 torch.float32,则必须为 torch.complex64。如果输入为 torch.float64,则必须为 torch.complex128

示例

>>> import numpy as np
>>> abs = torch.tensor([1, 2], dtype=torch.float64)
>>> angle = torch.tensor([np.pi / 2, 5 * np.pi / 4], dtype=torch.float64)
>>> z = torch.polar(abs, angle)
>>> z
tensor([(0.0000+1.0000j), (-1.4142-1.4142j)], dtype=torch.complex128)

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发人员的深度教程

查看教程

资源

查找开发资源并获得问题的解答

查看资源