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)