# Legacy discrete Fourier transforms (`scipy.fftpack`)¶

Warning

This submodule is now considered legacy, new code should use `scipy.fft`.

## Fast Fourier Transforms (FFTs)¶

 `fft`(x[, n, axis, overwrite_x]) Return discrete Fourier transform of real or complex sequence. `ifft`(x[, n, axis, overwrite_x]) Return discrete inverse Fourier transform of real or complex sequence. `fft2`(x[, shape, axes, overwrite_x]) 2-D discrete Fourier transform. `ifft2`(x[, shape, axes, overwrite_x]) 2-D discrete inverse Fourier transform of real or complex sequence. `fftn`(x[, shape, axes, overwrite_x]) Return multidimensional discrete Fourier transform. `ifftn`(x[, shape, axes, overwrite_x]) Return inverse multidimensional discrete Fourier transform. `rfft`(x[, n, axis, overwrite_x]) Discrete Fourier transform of a real sequence. `irfft`(x[, n, axis, overwrite_x]) Return inverse discrete Fourier transform of real sequence x. `dct`(x[, type, n, axis, norm, overwrite_x]) Return the Discrete Cosine Transform of arbitrary type sequence x. `idct`(x[, type, n, axis, norm, overwrite_x]) Return the Inverse Discrete Cosine Transform of an arbitrary type sequence. `dctn`(x[, type, shape, axes, norm, overwrite_x]) Return multidimensional Discrete Cosine Transform along the specified axes. `idctn`(x[, type, shape, axes, norm, overwrite_x]) Return multidimensional Discrete Cosine Transform along the specified axes. `dst`(x[, type, n, axis, norm, overwrite_x]) Return the Discrete Sine Transform of arbitrary type sequence x. `idst`(x[, type, n, axis, norm, overwrite_x]) Return the Inverse Discrete Sine Transform of an arbitrary type sequence. `dstn`(x[, type, shape, axes, norm, overwrite_x]) Return multidimensional Discrete Sine Transform along the specified axes. `idstn`(x[, type, shape, axes, norm, overwrite_x]) Return multidimensional Discrete Sine Transform along the specified axes.

## Differential and pseudo-differential operators¶

 `diff`(x[, order, period, _cache]) Return kth derivative (or integral) of a periodic sequence x. `tilbert`(x, h[, period, _cache]) Return h-Tilbert transform of a periodic sequence x. `itilbert`(x, h[, period, _cache]) Return inverse h-Tilbert transform of a periodic sequence x. `hilbert`(x[, _cache]) Return Hilbert transform of a periodic sequence x. Return inverse Hilbert transform of a periodic sequence x. `cs_diff`(x, a, b[, period, _cache]) Return (a,b)-cosh/sinh pseudo-derivative of a periodic sequence. `sc_diff`(x, a, b[, period, _cache]) Return (a,b)-sinh/cosh pseudo-derivative of a periodic sequence x. `ss_diff`(x, a, b[, period, _cache]) Return (a,b)-sinh/sinh pseudo-derivative of a periodic sequence x. `cc_diff`(x, a, b[, period, _cache]) Return (a,b)-cosh/cosh pseudo-derivative of a periodic sequence. `shift`(x, a[, period, _cache]) Shift periodic sequence x by a: y(u) = x(u+a).

## Helper functions¶

 `fftshift`(x[, axes]) Shift the zero-frequency component to the center of the spectrum. `ifftshift`(x[, axes]) The inverse of `fftshift`. `fftfreq`(n[, d]) Return the Discrete Fourier Transform sample frequencies. `rfftfreq`(n[, d]) DFT sample frequencies (for usage with rfft, irfft). `next_fast_len`(target) Find the next fast size of input data to `fft`, for zero-padding, etc.

Note that `fftshift`, `ifftshift` and `fftfreq` are numpy functions exposed by `fftpack`; importing them from `numpy` should be preferred.

## Convolutions (`scipy.fftpack.convolve`)¶

 `convolve`(x,omega,[swap_real_imag,overwrite_x]) Wrapper for `convolve`. `convolve_z`(x,omega_real,omega_imag,[overwrite_x]) Wrapper for `convolve_z`. Wrapper for `init_convolution_kernel`. `destroy_convolve_cache`