jax.numpy.fft.irfft2#
- jax.numpy.fft.irfft2(a, s=None, axes=(-2, -1), norm=None)[原始碼]#
計算實值二維反離散傅立葉變換。
JAX 實作的
numpy.fft.irfft2()
。- 參數:
a (ArrayLike) – 輸入陣列。必須具有
a.ndim >= 2
。s (Shape | None | None) – 可選的長度為 2 的整數序列。指定每個指定軸中輸出的尺寸。如果未指定,則沿軸
axes[1]
的輸出維度為2*(m-1)
,其中m
是沿軸axes[1]
的輸入大小,而沿其他軸的維度將與輸入的維度相同。axes (Sequence[int]) – 可選的長度為 2 的整數序列,預設值為 (-2,-1)。指定計算變換的軸。
norm (str | None | None) – 字串,預設值為 “backward”。標準化模式。支援 “backward”、“ortho” 和 “forward”。
- 返回:
一個包含
a
的二維反離散傅立葉變換的實值陣列。- 返回類型:
參見
jax.numpy.fft.rfft2()
:計算實值陣列的二維離散傅立葉變換。jax.numpy.fft.irfft()
:計算實值一維反離散傅立葉變換。jax.numpy.fft.irfftn()
:計算實值多維反離散傅立葉變換。
範例
jnp.fft.irfft2
預設沿最後兩個軸計算變換。>>> x = jnp.array([[[1, 3, 5], ... [2, 4, 6]], ... [[7, 9, 11], ... [8, 10, 12]]]) >>> jnp.fft.irfft2(x) Array([[[ 3.5, -1. , 0. , -1. ], [-0.5, 0. , 0. , 0. ]], [[ 9.5, -1. , 0. , -1. ], [-0.5, 0. , 0. , 0. ]]], dtype=float32)
當
s=[3, 3]
時,沿axes (-2, -1)
的變換維度將為(3, 3)
,而沿其他軸的維度將與輸入的維度相同。>>> with jnp.printoptions(precision=2, suppress=True): ... jnp.fft.irfft2(x, s=[3, 3]) Array([[[ 1.89, -0.44, -0.44], [ 0.22, -0.78, 0.56], [ 0.22, 0.56, -0.78]], [[ 5.89, -0.44, -0.44], [ 1.22, -1.78, 1.56], [ 1.22, 1.56, -1.78]]], dtype=float32)
當
s=[2, 3]
且axes=(0, 1)
時,沿axes (0, 1)
的變換形狀將為(2, 3)
,而沿其他軸的維度將與輸入的維度相同。>>> with jnp.printoptions(precision=2, suppress=True): ... jnp.fft.irfft2(x, s=[2, 3], axes=(0, 1)) Array([[[ 4.67, 6.67, 8.67], [-0.33, -0.33, -0.33], [-0.33, -0.33, -0.33]], [[-3. , -3. , -3. ], [ 0. , 0. , 0. ], [ 0. , 0. , 0. ]]], dtype=float32)