jax.scipy.fft.idct

目录

jax.scipy.fft.idct#

jax.scipy.fft.idct(x, type=2, n=None, axis=-1, norm=None)[源代码][源代码]#

计算输入的逆离散余弦变换

JAX 实现的 scipy.fft.idct()

参数:
  • x (Array) – 数组

  • type (int) – 整数,默认值 = 2。目前仅支持类型 2。

  • n (int | None) – 整数,默认值为 x.shape[axis]。变换的长度。如果大于 x.shape[axis],输入将被零填充;如果小于,输入将被截断。

  • axis (int) – 整数,默认=-1。将沿此轴执行离散余弦变换。

  • norm (str | None) – 字符串。归一化模式:可以是 [None, "backward", "ortho"] 之一。默认是 None,相当于 "backward"

返回:

包含 x 的逆离散余弦变换的数组

返回类型:

Array

参见

示例

>>> x = jax.random.normal(jax.random.key(0), (3, 3))
>>> with jnp.printoptions(precision=2, suppress=True):
...    print(jax.scipy.fft.idct(x))
[[-0.02 -0.   -0.17]
 [-0.02 -0.07 -0.28]
 [-0.16 -0.36  0.18]]

n 小于 x.shape[axis]

>>> with jnp.printoptions(precision=2, suppress=True):
...    print(jax.scipy.fft.idct(x, n=2))
[[ 0.   -0.19]
 [-0.03 -0.34]
 [-0.38  0.04]]

n 小于 x.shape[axis]axis=0

>>> with jnp.printoptions(precision=2, suppress=True):
...    print(jax.scipy.fft.idct(x, n=2, axis=0))
[[-0.35  0.23 -0.1 ]
 [ 0.17 -0.09  0.01]]

n 大于 x.shape[axis]axis=0

>>> with jnp.printoptions(precision=2, suppress=True):
...    print(jax.scipy.fft.idct(x, n=4, axis=0))
[[-0.34  0.03  0.07]
 [ 0.    0.18 -0.17]
 [ 0.14  0.09 -0.14]
 [ 0.   -0.18  0.14]]

jax.scipy.fft.idct 可以用来从 jax.scipy.fft.dct 的结果中重建 x

>>> x_dct = jax.scipy.fft.dct(x)
>>> jnp.allclose(x, jax.scipy.fft.idct(x_dct))
Array(True, dtype=bool)