jax.numpy.fft.rfft#
- jax.numpy.fft.rfft(a, n=None, axis=-1, norm=None)[source]#
计算实值数组的一维离散傅里叶变换。
JAX 实现
numpy.fft.rfft()
.- 参数:
- 返回值:
包含
a
的一维离散傅里叶变换的数组。沿着axis
轴的数组维度为(n/2)+1
(如果n
为偶数)或(n+1)/2
(如果n
为奇数)。- 返回类型:
另请参阅
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)