jax.numpy.fft.ifftn#

jax.numpy.fft.ifftn(a, s=None, axes=None, norm=None)[原始碼]#

計算多維反離散傅立葉轉換。

JAX 實作的 numpy.fft.ifftn()

參數:
  • a (ArrayLike) – 輸入陣列

  • s (Shape | None | None) – 整數序列。指定結果的形狀。如果未指定,則預設為 a 沿指定 axes 的形狀。

  • axes (Sequence[int] | None | None) – 整數序列,預設值=None。指定計算轉換的軸。如果為 None,則沿所有軸計算轉換。

  • norm (str | None | None) – 字串。正規化模式。“backward”、“ortho” 和 “forward” 受到支援。

返回:

包含 a 的多維反離散傅立葉轉換的陣列。

返回類型:

Array

參見

範例

axes 參數為 None 時,jnp.fft.ifftn 預設沿所有軸計算轉換。

>>> 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] 時,沿 axis 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]]