cupyx.scipy.fftpack.rfft(x, n=None, axis=- 1, overwrite_x=False, plan=None)[source]#

Compute the one-dimensional FFT for real input.

The returned real array contains

[y(0),Re(y(1)),Im(y(1)),...,Re(y(n/2))]  # if n is even
[y(0),Re(y(1)),Im(y(1)),...,Re(y(n/2)),Im(y(n/2))]  # if n is odd
  • x (cupy.ndarray) – Array to be transformed.

  • n (None or int) – Length of the transformed axis of the output. If n is not given, the length of the input along the axis specified by axis is used.

  • axis (int) – Axis over which to compute the FFT.

  • overwrite_x (bool) – If True, the contents of x can be destroyed.

  • plan (cupy.cuda.cufft.Plan1d or None) –

    a cuFFT plan for transforming x over axis, which can be obtained using:

    plan = cupyx.scipy.fftpack.get_fft_plan(
        x, axes, value_type='R2C')

    Note that plan is defaulted to None, meaning CuPy will either use an auto-generated plan behind the scene if cupy.fft.config. enable_nd_planning = True, or use no cuFFT plan if it is set to False.


The transformed array.

Return type



The argument plan is currently experimental and the interface may be changed in the future version.