jax.numpy.fft.fft#
- jax.numpy.fft.fft(a, n=None, axis=-1, norm=None)[源代码][源代码]#
沿给定轴计算一维离散傅里叶变换。
JAX 实现的
numpy.fft.fft()。- 参数:
- 返回:
包含
a的一维离散傅里叶变换的数组。- 返回类型:
参见
jax.numpy.fft.ifft(): 计算一维逆离散傅里叶变换。jax.numpy.fft.fftn(): 计算多维离散傅里叶变换。jax.numpy.fft.ifftn(): 计算多维逆离散傅里叶变换。
示例
jnp.fft.fft默认沿axis -1计算变换。>>> x = jnp.array([[1, 2, 4, 7], ... [5, 3, 1, 9]]) >>> jnp.fft.fft(x) Array([[14.+0.j, -3.+5.j, -4.+0.j, -3.-5.j], [18.+0.j, 4.+6.j, -6.+0.j, 4.-6.j]], dtype=complex64)
当
n=3时,沿轴 -1 的变换维度将是3,而沿其他轴的维度将与输入的维度相同。>>> with jnp.printoptions(precision=2, suppress=True): ... print(jnp.fft.fft(x, n=3)) [[ 7.+0.j -2.+1.73j -2.-1.73j] [ 9.+0.j 3.-1.73j 3.+1.73j]]
当
n=3且axis=0时,沿axis 0的变换维度将为3,而沿其他轴的维度将与输入相同。>>> with jnp.printoptions(precision=2, suppress=True): ... print(jnp.fft.fft(x, n=3, axis=0)) [[ 6. +0.j 5. +0.j 5. +0.j 16. +0.j ] [-1.5-4.33j 0.5-2.6j 3.5-0.87j 2.5-7.79j] [-1.5+4.33j 0.5+2.6j 3.5+0.87j 2.5+7.79j]]
jnp.fft.ifft可以用来从jnp.fft.fft的结果中重建x。>>> x_fft = jnp.fft.fft(x) >>> jnp.allclose(x, jnp.fft.ifft(x_fft)) Array(True, dtype=bool)