jax.scipy.fft.idctn#
- jax.scipy.fft.idctn(x, type=2, s=None, axes=None, norm=None)[源代码]#
计算输入的 N 维离散余弦逆变换
JAX 对
scipy.fft.idctn()的实现。- 参数:
- 返回:
包含 x 的离散余弦逆变换的数组
- 返回类型:
另请参阅
jax.scipy.fft.dct(): 一维 DCTjax.scipy.fft.dctn(): 多维 DCTjax.scipy.fft.idct(): 一维逆 DCT
示例
当
axes参数为None时,jax.scipy.fft.idctn默认沿所有轴计算变换。>>> 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)