jax.numpy.fft.irfft

目录

jax.numpy.fft.irfft#

jax.numpy.fft.irfft(a, n=None, axis=-1, norm=None)[源代码][源代码]#

计算一个实数值的一维离散傅里叶逆变换。

JAX 实现的 numpy.fft.irfft()

参数:
  • a (ArrayLike) – 输入数组。

  • n (int | None) – int. 指定结果沿 axis 的维度。如果未指定,n = 2*(m-1),其中 ma 沿 axis 的维度。

  • axis (int) – int, 默认=-1。指定沿哪个轴计算变换。如果未指定,则沿轴 -1 计算变换。

  • norm (str | None) – string. 归一化模式。支持 “backward”、”ortho” 和 “forward”。

返回:

一个实数数组,包含 a 的一维逆离散傅里叶变换,沿 axis 方向的维度为 n

返回类型:

Array

参见

示例

jnp.fft.rfft 默认沿 axis -1 计算变换。

>>> x = jnp.array([[1, 3, 5],
...                [2, 4, 6]])
>>> jnp.fft.irfft(x)
Array([[ 3., -1.,  0., -1.],
       [ 4., -1.,  0., -1.]], dtype=float32)

n=3 时,沿轴 -1 的变换维度将是 3,而沿其他轴的维度将与输入的维度相同。

>>> with jnp.printoptions(precision=2, suppress=True):
...   jnp.fft.irfft(x, n=3)
Array([[ 2.33, -0.67, -0.67],
       [ 3.33, -0.67, -0.67]], dtype=float32)

n=4axis=0 时,沿 axis 0 的变换维度将为 4,而沿其他轴的维度将与输入相同。

>>> with jnp.printoptions(precision=2, suppress=True):
...   jnp.fft.irfft(x, n=4, axis=0)
Array([[ 1.25,  2.75,  4.25],
       [ 0.25,  0.75,  1.25],
       [-0.75, -1.25, -1.75],
       [ 0.25,  0.75,  1.25]], dtype=float32)