jax.numpy.fft.ifftn

目录

jax.numpy.fft.ifftn#

jax.numpy.fft.ifftn(a, s=None, axes=None, norm=None)[源代码][源代码]#

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

JAX 实现的 numpy.fft.ifftn()

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

  • s (Shape | None) – 整数序列。指定结果的形状。如果未指定,它将默认为 a 沿指定 axes 的形状。

  • axes (Sequence[int] | None) – 整数序列,默认=None。指定沿哪些轴计算变换。如果为 None,则沿所有轴计算变换。

  • norm (str | None) – string. 归一化模式。支持 “backward”、”ortho” 和 “forward”。

返回:

包含 a 的多维逆离散傅里叶变换的数组。

返回类型:

Array

参见

示例

jnp.fft.ifftn 默认情况下,当 axes 参数为 None 时,会沿着所有轴计算变换。

>>> x = jnp.array([[1, 2, 5, 3],
...                [4, 1, 2, 6],
...                [5, 3, 2, 1]])
>>> with jnp.printoptions(precision=2, suppress=True):
...   print(jnp.fft.ifftn(x))
[[ 2.92+0.j    0.08-0.33j  0.25+0.j    0.08+0.33j]
 [-0.08+0.14j -0.04-0.03j  0.  -0.29j -1.05-0.11j]
 [-0.08-0.14j -1.05+0.11j  0.  +0.29j -0.04+0.03j]]

s=[3] 时,沿 axis -1 的变换维度将是 3,而沿其他轴的维度将与输入相同。

>>> with jnp.printoptions(precision=2, suppress=True):
...   print(jnp.fft.ifftn(x, s=[3]))
[[ 2.67+0.j   -0.83-0.87j -0.83+0.87j]
 [ 2.33+0.j    0.83-0.29j  0.83+0.29j]
 [ 3.33+0.j    0.83+0.29j  0.83-0.29j]]

s=[2]axes=[0] 时,沿 0 的变换维度将为 2,而沿其他轴的维度将与输入相同。

>>> with jnp.printoptions(precision=2, suppress=True):
...   print(jnp.fft.ifftn(x, s=[2], axes=[0]))
[[ 2.5+0.j  1.5+0.j  3.5+0.j  4.5+0.j]
 [-1.5+0.j  0.5+0.j  1.5+0.j -1.5+0.j]]

s=[2, 3] 时,变换的形状将是 (2, 3)

>>> with jnp.printoptions(precision=2, suppress=True):
...   print(jnp.fft.ifftn(x, s=[2, 3]))
[[ 2.5 +0.j    0.  -0.58j  0.  +0.58j]
 [ 0.17+0.j   -0.83-0.29j -0.83+0.29j]]