jax.scipy.fft.idctn#
- jax.scipy.fft.idctn(x, type=2, s=None, axes=None, norm=None)[原始碼]#
計算輸入的多維反離散餘弦變換
JAX 實作的
scipy.fft.idctn()
。- 參數:
- 返回:
包含 x 的反離散餘弦變換的陣列
- 返回類型:
另請參閱
jax.scipy.fft.dct()
:一維 DCTjax.scipy.fft.dctn()
:多維 DCTjax.scipy.fft.idct()
:一維反 DCT
範例
jax.scipy.fft.idctn
預設沿兩個軸計算變換,當axes
參數為None
時。>>> x = jax.random.normal(jax.random.key(0), (3, 3)) >>> with jnp.printoptions(precision=2, suppress=True): ... print(jax.scipy.fft.idctn(x)) [[ 0.12 0.11 -0.15] [ 0.07 0.17 -0.03] [ 0.19 -0.07 -0.02]]
當
s=[2]
時,沿axis 0
的變換維度將為2
,沿axis 1
的維度將與輸入相同。>>> with jnp.printoptions(precision=2, suppress=True): ... print(jax.scipy.fft.idctn(x, s=[2])) [[ 0.15 0.21 -0.18] [ 0.24 -0.01 -0.02]]
當
s=[2]
且axes=[1]
時,沿axis 1
的變換維度將為2
,沿axis 0
的維度將與輸入相同。此外,當axes=[1]
時,變換將僅沿axis 1
計算。>>> with jnp.printoptions(precision=2, suppress=True): ... print(jax.scipy.fft.idctn(x, s=[2], axes=[1])) [[ 1.12 -0.31] [ 0.04 -0.08] [ 0.05 -0.3 ]]
當
s=[2, 4]
時,變換的形狀將為(2, 4)
>>> with jnp.printoptions(precision=2, suppress=True): ... print(jax.scipy.fft.idctn(x, s=[2, 4])) [[ 0.1 0.18 0.07 -0.16] [ 0.2 0.06 -0.03 -0.01]]
jax.scipy.fft.idctn
可用於從jax.scipy.fft.dctn
的結果重建x
>>> x_dctn = jax.scipy.fft.dctn(x) >>> jnp.allclose(x, jax.scipy.fft.idctn(x_dctn)) Array(True, dtype=bool)