jax.numpy.fft.rfft#

jax.numpy.fft.rfft(a, n=None, axis=-1, norm=None)[原始碼]#

計算實值陣列的一維離散傅立葉轉換。

JAX 實作的 numpy.fft.rfft()

參數:
  • a (ArrayLike) – 實值輸入陣列。

  • n (int | None | None) – 整數。指定沿 axis 的輸入有效維度。如果未指定,則預設為沿 axis 的輸入維度。

  • axis (int) – 整數,預設值=-1。指定計算轉換的軸。如果未指定,則沿軸 -1 計算轉換。

  • norm (str | None | None) – 字串。標準化模式。支援 “backward”、“ortho” 和 “forward”。

傳回:

包含 a 的一維離散傅立葉轉換的陣列。如果 n 是偶數,則沿 axis 的陣列維度為 (n/2)+1;如果 n 是奇數,則為 (n+1)/2

傳回類型:

Array

另請參閱

範例

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=4axis=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)