scipy.fftpack.idstn#

scipy.fftpack.idstn(x, type=2, shape=None, axes=None, norm=None, overwrite_x=False)[source]#

Return multidimensional Discrete Sine Transform along the specified axes.

Parameters:
xarray_like

The input array.

type{1, 2, 3, 4}, optional

Type of the DST (see Notes). Default type is 2.

shapeint or array_like of ints or None, optional

The shape of the result. If both shape and axes (see below) are None, shape is x.shape; if shape is None but axes is not None, then shape is numpy.take(x.shape, axes, axis=0). If shape[i] > x.shape[i], the ith dimension is padded with zeros. If shape[i] < x.shape[i], the ith dimension is truncated to length shape[i]. If any element of shape is -1, the size of the corresponding dimension of x is used.

axesint or array_like of ints or None, optional

Axes along which the IDST is computed. The default is over all axes.

norm{None, ‘ortho’}, optional

Normalization mode (see Notes). Default is None.

overwrite_xbool, optional

If True, the contents of x can be destroyed; the default is False.

Returns:
yndarray of real

The transformed input array.

See also

dstn

multidimensional DST

Notes

For full details of the IDST types and normalization modes, as well as references, see idst.

Examples

>>> import numpy as np
>>> from scipy.fftpack import dstn, idstn
>>> rng = np.random.default_rng()
>>> y = rng.standard_normal((16, 16))
>>> np.allclose(y, idstn(dstn(y, norm='ortho'), norm='ortho'))
True