torch.polar¶
- torch.polar(abs, angle, *, out=None) Tensor ¶
构建一个复数张量,其元素对应于绝对值为
abs
和角度为angle
的极坐标。注意
torch.polar 与 std::polar 类似,不计算复数张量的极分解,如 Python 的 cmath.polar 和 SciPy 的 linalg.polar 所做的那样。如果 abs 为负或 NaN,或者 angle 为无穷大,则此函数的行为是未定义的。
- 参数:
abs(张量)- 复数张量的绝对值。必须是浮点数或双精度浮点数。
angle(张量)- 复数张量的角度。必须与
abs
具有相同的数据类型。
- 关键字参数:
out (Tensor) – 如果输入是
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)