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.