Legacy discrete fourier transforms (cupyx.scipy.fftpack)#

Note

As of SciPy version 1.4.0, scipy.fft is recommended over scipy.fftpack. Consider using cupyx.scipy.fft instead.

Fast Fourier Transforms (FFTs)#

fft(x[, n, axis, overwrite_x, plan])

Compute the one-dimensional FFT.

ifft(x[, n, axis, overwrite_x, plan])

Compute the one-dimensional inverse FFT.

fft2(x[, shape, axes, overwrite_x, plan])

Compute the two-dimensional FFT.

ifft2(x[, shape, axes, overwrite_x, plan])

Compute the two-dimensional inverse FFT.

fftn(x[, shape, axes, overwrite_x, plan])

Compute the N-dimensional FFT.

ifftn(x[, shape, axes, overwrite_x, plan])

Compute the N-dimensional inverse FFT.

rfft(x[, n, axis, overwrite_x, plan])

Compute the one-dimensional FFT for real input.

irfft(x[, n, axis, overwrite_x])

Compute the one-dimensional inverse FFT for real input.

get_fft_plan(a[, shape, axes, value_type])

Generate a CUDA FFT plan for transforming up to three axes.

Code compatibility features#

  1. As with other FFT modules in CuPy, FFT functions in this module can take advantage of an existing cuFFT plan (returned by get_fft_plan()) to accelerate the computation. The plan can be either passed in explicitly via the plan argument or used as a context manager. The argument plan is currently experimental and the interface may be changed in the future version. The get_fft_plan() function has no counterpart in scipy.fftpack.

  2. The boolean switch cupy.fft.config.enable_nd_planning also affects the FFT functions in this module, see Discrete Fourier Transform (cupy.fft). This switch is neglected when planning manually using get_fft_plan().

  3. Like in scipy.fftpack, all FFT functions in this module have an optional argument overwrite_x (default is False), which has the same semantics as in scipy.fftpack: when it is set to True, the input array x can (not will) be overwritten arbitrarily. For this reason, when an in-place FFT is desired, the user should always reassign the input in the following manner: x = cupyx.scipy.fftpack.fft(x, ..., overwrite_x=True, ...).

  4. The boolean switch cupy.fft.config.use_multi_gpus also affects the FFT functions in this module, see Discrete Fourier Transform (cupy.fft). Moreover, this switch is honored when planning manually using get_fft_plan().