jax.numpy.fft.fft2#
- jax.numpy.fft.fft2(a, s=None, axes=(-2, -1), norm=None)[原始碼]#
沿給定軸計算二維離散傅立葉變換。
JAX 實作的
numpy.fft.fft2()
。- 參數:
- 回傳:
一個陣列,包含
a
沿給定axes
的二維離散傅立葉變換。- 回傳型別:
另請參閱
jax.numpy.fft.fft()
:計算一維離散傅立葉變換。jax.numpy.fft.fftn()
:計算多維離散傅立葉變換。jax.numpy.fft.ifft2()
:計算二維反離散傅立葉變換。
範例
jnp.fft.fft2
預設沿最後兩個軸計算變換。>>> x = jnp.array([[[1, 3], ... [2, 4]], ... [[5, 7], ... [6, 8]]]) >>> with jnp.printoptions(precision=2, suppress=True): ... jnp.fft.fft2(x) Array([[[10.+0.j, -4.+0.j], [-2.+0.j, 0.+0.j]], [[26.+0.j, -4.+0.j], [-2.+0.j, 0.+0.j]]], dtype=complex64)
當
s=[2, 3]
時,沿axes (-2, -1)
的變換維度將為(2, 3)
,而沿其他軸的維度將與輸入相同。>>> with jnp.printoptions(precision=2, suppress=True): ... jnp.fft.fft2(x, s=[2, 3]) Array([[[10. +0.j , -0.5 -6.06j, -0.5 +6.06j], [-2. +0.j , -0.5 +0.87j, -0.5 -0.87j]], [[26. +0.j , 3.5-12.99j, 3.5+12.99j], [-2. +0.j , -0.5 +0.87j, -0.5 -0.87j]]], dtype=complex64)
當
s=[2, 3]
且axes=(0, 1)
時,沿axes (0, 1)
的變換形狀將為(2, 3)
,而沿其他軸的維度將與輸入相同。>>> with jnp.printoptions(precision=2, suppress=True): ... jnp.fft.fft2(x, s=[2, 3], axes=(0, 1)) Array([[[14. +0.j , 22. +0.j ], [ 2. -6.93j, 4.-10.39j], [ 2. +6.93j, 4.+10.39j]], [[-8. +0.j , -8. +0.j ], [-2. +3.46j, -2. +3.46j], [-2. -3.46j, -2. -3.46j]]], dtype=complex64)
jnp.fft.ifft2
可用於從jnp.fft.fft2
的結果重建x
。>>> x_fft2 = jnp.fft.fft2(x) >>> jnp.allclose(x, jnp.fft.ifft2(x_fft2)) Array(True, dtype=bool)