torch.polar¶
- torch.polar(abs, angle, *, out=None) Tensor ¶
构造一个复数张量,其元素是对应于极坐标的笛卡尔坐标,其中绝对值为
abs
,角度为angle
。) + abs ⋅ sin ( 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 为无穷大,则此函数的行为未定义。
- 参数
- 关键字参数
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)