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)