jax.numpy.fft.rfft2#
- jax.numpy.fft.rfft2(a, s=None, axes=(-2, -1), norm=None)[原始碼]#
計算實值陣列的二維離散傅立葉轉換。
JAX 版本的
numpy.fft.rfft2()
。- 參數:
- 傳回:
包含
a
的二維離散傅立葉轉換的陣列。沿軸axes[1]
的輸出大小為(s[1]/2)+1
(如果s[1]
是偶數) 和(s[1]+1)/2
(如果s[1]
是奇數)。沿軸axes[0]
的輸出大小為s[0]
。- 傳回類型:
參見
jax.numpy.fft.rfft()
:計算實值陣列的一維離散傅立葉轉換。jax.numpy.fft.rfftn()
:計算實值陣列的多維離散傅立葉轉換。jax.numpy.fft.irfft2()
:計算實值二維反離散傅立葉轉換。
範例
jnp.fft.rfft2
預設沿最後兩個軸計算轉換。>>> x = jnp.array([[[1, 3, 5], ... [2, 4, 6]], ... [[7, 9, 11], ... [8, 10, 12]]]) >>> with jnp.printoptions(precision=2, suppress=True): ... jnp.fft.rfft2(x) Array([[[21.+0.j , -6.+3.46j], [-3.+0.j , 0.+0.j ]], [[57.+0.j , -6.+3.46j], [-3.+0.j , 0.+0.j ]]], dtype=complex64)
當
s=[2, 4]
時,沿axis -2
的轉換維度將為2
,沿axis -1
的轉換維度將為(4/2)+1) = 3
,而沿其他軸的維度將與輸入相同。>>> with jnp.printoptions(precision=2, suppress=True): ... jnp.fft.rfft2(x, s=[2, 4]) Array([[[21. +0.j, -8. -7.j, 7. +0.j], [-3. +0.j, 0. +1.j, -1. +0.j]], [[57. +0.j, -8.-19.j, 19. +0.j], [-3. +0.j, 0. +1.j, -1. +0.j]]], dtype=complex64)
當
s=[3, 5]
且axes=(0, 1)
時,沿axis 0
的轉換形狀將為3
,沿axis 1
的轉換形狀將為(5+1)/2 = 3
,而沿其他軸的維度將與輸入相同。>>> with jnp.printoptions(precision=2, suppress=True): ... jnp.fft.rfft2(x, s=[3, 5], axes=(0, 1)) Array([[[ 18. +0.j , 26. +0.j , 34. +0.j ], [ 11.09 -9.51j, 16.33-13.31j, 21.56-17.12j], [ -0.09 -5.88j, 0.67 -8.23j, 1.44-10.58j]], [[ -4.5 -12.99j, -2.5 -16.45j, -0.5 -19.92j], [ -9.71 -6.3j , -10.05 -9.52j, -10.38-12.74j], [ -4.95 +0.72j, -5.78 -0.2j , -6.61 -1.12j]], [[ -4.5 +12.99j, -2.5 +16.45j, -0.5 +19.92j], [ 3.47+10.11j, 6.43+11.42j, 9.38+12.74j], [ 3.19 +1.63j, 4.4 +1.38j, 5.61 +1.12j]]], dtype=complex64)