jax.numpy.fft.ifft#

jax.numpy.fft.ifft(a, n=None, axis=-1, norm=None)[源代码]#

计算一维逆离散傅里叶变换。

JAX 中 numpy.fft.ifft() 的实现。

参数:
  • a (ArrayLike) – 输入数组

  • n (int | None | None) – int 类型。指定沿 axis 轴的结果维度。如果未指定,则默认为 a 沿 axis 轴的维度。

  • axis (int) – int 类型,默认为 -1。指定计算变换的轴。如果未指定,则沿轴 -1 计算变换。

  • norm (str | None | None) – 字符串类型。归一化模式。支持 “backward”、“ortho” 和 “forward”。

返回:

一个包含 a 的一维离散傅里叶变换的数组。

返回类型:

数组

另请参阅

示例

jnp.fft.ifft 默认沿 axis -1 计算变换。

>>> x = jnp.array([[3, 1, 4, 6],
...                [2, 5, 7, 1]])
>>> jnp.fft.ifft(x)
Array([[ 3.5 +0.j  , -0.25-1.25j,  0.  +0.j  , -0.25+1.25j],
      [ 3.75+0.j  , -1.25+1.j  ,  0.75+0.j  , -1.25-1.j  ]],      dtype=complex64)

n=5 时,沿轴 -1 的变换维度将为 5,沿其他轴的维度将与输入相同。

>>> with jnp.printoptions(precision=2, suppress=True):
...   print(jnp.fft.ifft(x, n=5))
[[ 2.8 +0.j   -0.96-0.04j  1.06+0.5j   1.06-0.5j  -0.96+0.04j]
 [ 3.  +0.j   -0.59+1.66j  0.09-0.55j  0.09+0.55j -0.59-1.66j]]

n=3axis=0 时,沿 axis 0 的变换维度将为 3,沿其他轴的维度将与输入相同。

>>> with jnp.printoptions(precision=2, suppress=True):
...   print(jnp.fft.ifft(x, n=3, axis=0))
[[ 1.67+0.j    2.  +0.j    3.67+0.j    2.33+0.j  ]
 [ 0.67+0.58j -0.5 +1.44j  0.17+2.02j  1.83+0.29j]
 [ 0.67-0.58j -0.5 -1.44j  0.17-2.02j  1.83-0.29j]]