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.03 -0.08 -0.08] [ 0.05 0.12 -0.09] [-0.02 -0.04 0.08]]
当
s=[2]时,沿axis 0的变换维度将是2,而沿axis 1的维度将与输入的维度相同。>>> with jnp.printoptions(precision=2, suppress=True): ... print(jax.scipy.fft.idctn(x, s=[2])) [[-0.01 -0.03 -0.14] [ 0. 0.03 0.06]]
当
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])) [[ 0. -0.19] [-0.03 -0.34] [-0.38 0.04]]
当
s=[2, 4]时,变换的形状将是(2, 4)>>> with jnp.printoptions(precision=2, suppress=True): ... print(jax.scipy.fft.idctn(x, s=[2, 4])) [[-0.01 -0.01 -0.05 -0.11] [ 0. 0.01 0.03 0.04]]
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)