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)
個軸計算轉換。如果axes
和s
都未指定,則沿所有軸計算轉換。norm (str | None | None) – 字串,預設值=”backward”。正規化模式。支援 “backward”、“ortho” 和 “forward”。
- 傳回值:
一個實值陣列,包含
a
的多維反離散傅立葉轉換,其沿指定axes
的尺寸為s
,而沿其他軸的尺寸與輸入相同。- 傳回型別:
參見
jax.numpy.fft.rfftn()
:計算實值陣列的多維離散傅立葉轉換。jax.numpy.fft.irfft()
:計算實值一維反離散傅立葉轉換。jax.numpy.fft.irfft2()
:計算實值二維反離散傅立葉轉換。
範例
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)