as_complex

paddle. as_complex ( x, name=None ) [源代码]

将实数 Tensor 转为复数 Tensor.

输入 Tensor 的数据类型是 'float32' 或者 'float64',输出 Tensor 的数据类型相应为 'complex64' 或者 'complex128'.

输入 Tensor 的形状是 (*, 2) (其中 * 表示任意形状),亦即,输入的最后一维的大小必须是 2, 这对应着复数的实部和虚部。输出 Tensor 的形状是 (*,).

参数

  • x (Tensor) - 输入 Tensor,数据类型为:float32 或 float64。

  • name (str,可选) - 操作的名称(可选,默认值为None)。更多信息请参见 Name

返回

输出 Tensor,数据类型是 'complex64' 或 'complex128', 与 x 的数值精度一致。

代码示例

import paddle
x = paddle.arange(12, dtype=paddle.float32).reshape([2, 3, 2])
y = paddle.as_complex(x)
print(y.numpy())

# [[ 0. +1.j  2. +3.j  4. +5.j]
#  [ 6. +7.j  8. +9.j 10.+11.j]]