jax.numpy.fft.rfft#
- jax.numpy.fft.rfft(a, n=None, axis=-1, norm=None)[源代码][源代码]#
计算实值数组的一维离散傅里叶变换。
JAX 实现的
numpy.fft.rfft()
。- 参数:
- 返回:
包含
a
的一维离散傅里叶变换的数组。如果n
是偶数,则沿axis
的数组维度为(n/2)+1
,如果n
是奇数,则为(n+1)/2
。- 返回类型:
参见
jax.numpy.fft.fft()
: 计算一维离散傅里叶变换。jax.numpy.fft.irfft()
: 计算实数输入的一维逆离散傅里叶变换。jax.numpy.fft.rfftn()
: 计算实数输入的多维离散傅里叶变换。jax.numpy.fft.irfftn()
: 计算实数输入的多维逆离散傅里叶变换。
示例
jnp.fft.rfft
默认沿axis -1
计算变换。>>> x = jnp.array([[1, 3, 5], ... [2, 4, 6]]) >>> with jnp.printoptions(precision=2, suppress=True): ... jnp.fft.rfft(x) Array([[ 9.+0.j , -3.+1.73j], [12.+0.j , -3.+1.73j]], dtype=complex64)
当
n=5
时,沿轴 -1 的变换维度将是(5+1)/2 = 3
,而沿其他轴的维度将与输入的维度相同。>>> with jnp.printoptions(precision=2, suppress=True): ... jnp.fft.rfft(x, n=5) Array([[ 9. +0.j , -2.12-5.79j, 0.12+2.99j], [12. +0.j , -1.62-7.33j, 0.62+3.36j]], dtype=complex64)
当
n=4
且axis=0
时,沿axis 0
的变换维度将是(4/2)+1 =3
,而沿其他轴的维度将与输入相同。>>> with jnp.printoptions(precision=2, suppress=True): ... jnp.fft.rfft(x, n=4, axis=0) Array([[ 3.+0.j, 7.+0.j, 11.+0.j], [ 1.-2.j, 3.-4.j, 5.-6.j], [-1.+0.j, -1.+0.j, -1.+0.j]], dtype=complex64)