jax.numpy.fft.irfftn#

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

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

JAX 實作的 numpy.fft.irfftn()

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

  • s (Shape | None | None) – 整數的可選序列。指定每個指定軸中輸出的尺寸。如果未指定,則沿軸 axes[-1] 的輸出維度為 2*(m-1)m 是沿軸 axes[-1] 的輸入尺寸,而沿其他軸的維度將與輸入的維度相同。

  • axes (Sequence[int] | None | None) – 整數的可選序列,預設值=None。指定計算轉換的軸。如果未指定,則沿最後 len(s) 個軸計算轉換。如果 axess 都未指定,則沿所有軸計算轉換。

  • norm (str | None | None) – 字串,預設值=”backward”。正規化模式。支援 “backward”、“ortho” 和 “forward”。

傳回值:

一個實值陣列,包含 a 的多維反離散傅立葉轉換,其沿指定 axes 的尺寸為 s,而沿其他軸的尺寸與輸入相同。

傳回型別:

Array

參見

範例

jnp.fft.irfftn 預設計算沿所有軸的轉換。

>>> x = jnp.array([[[1, 3, 5],
...                 [2, 4, 6]],
...                [[7, 9, 11],
...                 [8, 10, 12]]])
>>> jnp.fft.irfftn(x)
Array([[[ 6.5, -1. ,  0. , -1. ],
        [-0.5,  0. ,  0. ,  0. ]],

       [[-3. ,  0. ,  0. ,  0. ],
        [ 0. ,  0. ,  0. ,  0. ]]], dtype=float32)

s=[3, 4] 時,沿 axes (-2, -1) 的轉換尺寸將為 (3, 4),而沿其他軸的尺寸將與輸入的尺寸相同。

>>> with jnp.printoptions(precision=2, suppress=True):
...   jnp.fft.irfftn(x, s=[3, 4])
Array([[[ 2.33, -0.67,  0.  , -0.67],
        [ 0.33, -0.74,  0.  ,  0.41],
        [ 0.33,  0.41,  0.  , -0.74]],

       [[ 6.33, -0.67,  0.  , -0.67],
        [ 1.33, -1.61,  0.  ,  1.28],
        [ 1.33,  1.28,  0.  , -1.61]]], dtype=float32)

s=[3]axes=[0] 時,沿 axes 0 的轉換尺寸將為 3,而沿其他軸的維度將與輸入的維度相同。

>>> with jnp.printoptions(precision=2, suppress=True):
...   jnp.fft.irfftn(x, s=[3], axes=[0])
Array([[[ 5.,  7.,  9.],
        [ 6.,  8., 10.]],

       [[-2., -2., -2.],
        [-2., -2., -2.]],

       [[-2., -2., -2.],
        [-2., -2., -2.]]], dtype=float32)