rfft

rfft(x: array, /, *, n: int | None = None, axis: int = -1, norm: Literal['backward', 'ortho', 'forward'] = 'backward') array

Computes the one-dimensional discrete Fourier transform for real-valued input.

Note

Applying the one-dimensional inverse discrete Fourier transform for real-valued input to the output of this function must return the original (i.e., non-transformed) input array within numerical accuracy (i.e., irfft(rfft(x)) == x), provided that the transform and inverse transform are performed with the same arguments (axis and normalization mode) and consistent values for the number of elements over which to compute the transforms.

Parameters:
  • x (array) – input array. Must have a real-valued floating-point data type.

  • n (Optional[int]) –

    number of elements over which to compute the transform along the axis (dimension) specified by axis. Let M be the size of the input array along the axis specified by axis. When n is None, the function must set n equal to M.

    • If n is greater than M, the axis specified by axis must be zero-padded to size n.

    • If n is less than M, the axis specified by axis must be trimmed to size n.

    • If n equals M, all elements along the axis specified by axis must be used when computing the transform.

    Default: None.

  • axis (int) – axis (dimension) of the input array over which to compute the transform. A valid axis must be an integer on the interval [-N, N), where N is the rank (number of dimensions) of x. If an axis is specified as a negative integer, the function must determine the axis along which to compute the transform by counting backward from the last dimension (where -1 refers to the last dimension). Default: -1.

  • norm (Literal['backward', 'ortho', 'forward']) –

    normalization mode. Should be one of the following modes:

    • 'backward': no normalization.

    • 'ortho': normalize by 1/sqrt(n) (i.e., make the FFT orthonormal).

    • 'forward': normalize by 1/n.

    Default: 'backward'.

Returns:

out (array) – an array transformed along the axis (dimension) specified by axis. The returned array must have a complex floating-point data type whose precision matches the precision of x (e.g., if x is float64, then the returned array must have a complex128 data type). The returned array must have the same shape as x, except for the axis specified by axis which must have size n//2 + 1.

Notes

New in version 2022.12.