Whether to use the orthogonalized IDCT variant (see Notes). Defaults to ``True`` when ``norm="ortho"`` and ``False`` otherwise. .. versionadded:: 1.8.0 Returns ------- idct : ndarray of real The transformed input array. See Also -------- dct : Forward DCT Notes ----- For a single dimension array `x`, ``idct(x, norm='ortho')`` is equal to MATLAB ``idct(x)``. .. warning:: For ``type in {1, 2, 3}``, ``norm="ortho"`` breaks the direct correspondence with the inverse direct Fourier transform. To recover it you must specify ``orthogonalize=False``. For ``norm="ortho"`` both the `dct` and `idct` are scaled by the same overall factor in both directions. By default, the transform is also orthogonalized which for types 1, 2 and 3 means the transform definition is modified to give orthogonality of the IDCT matrix (see `dct` for the full definitions). 'The' IDCT is the IDCT-II, which is the same as the normalized DCT-III. The IDCT is equivalent to a normal DCT except for the normalization and type. DCT type 1 and 4 are their own inverse and DCTs 2 and 3 are each other's inverses. Examples -------- The Type 1 DCT is equivalent to the DFT for real, even-symmetrical inputs. The output is also real and even-symmetrical. Half of the IFFT input is used to generate half of the IFFT output: >>> from scipy.fft import ifft, idct >>> import numpy as np >>> ifft(np.array([ 30., -8., 6., -2., 6., -8.])).real array([ 4., 3., 5., 10., 5., 3.]) >>> idct(np.array([ 30., -8., 6., -2.]), 1) array([ 4., 3., 5., 10.]) r