fft

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

Computes the one-dimensional discrete Fourier transform.

Note

Applying the one-dimensional inverse discrete Fourier transform to the output of this function must return the original (i.e., non-transformed) input array within numerical accuracy (i.e., ifft(fft(x)) == x), provided that the transform and inverse transform are performed with the same arguments (number of elements, axis, and normalization mode).

Parameters:
  • x (array) – input array. Should have a complex 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 the same data type as x and must have the same shape as x, except for the axis specified by axis which must have size n.

Notes

New in version 2022.12.

Changed in version 2023.12: Required the input array have a complex floating-point data type and required that the output array have the same data type as the input array.