cunumeric.fft.irfft#

cunumeric.fft.irfft(a: ndarray, n: int | None = None, axis: int = -1, norm: str | None = None) ndarray#

Computes the inverse of rfft.

This function computes the inverse of the one-dimensional n-point discrete Fourier Transform of real input computed by rfft. In other words, irfft(rfft(a), len(a)) == a to within numerical accuracy. (See Notes below for why len(a) is necessary here.)

The input is expected to be in the form returned by rfft, i.e. the real zero-frequency term followed by the complex positive frequency terms in order of increasing frequency. Since the discrete Fourier Transform of real input is Hermitian-symmetric, the negative frequency terms are taken to be the complex conjugates of the corresponding positive frequency terms.

Parameters:
  • a (array_like) – The input array.

  • n (int, optional) – Length of the transformed axis of the output. For n output points, n//2+1 input points are necessary. If the input is longer than this, it is cropped. If it is shorter than this, it is padded with zeros. If n is not given, it is taken to be 2*(m-1) where m is the length of the input along the axis specified by axis.

  • axis (int, optional) – Axis over which to compute the inverse FFT. If not given, the last axis is used.

  • norm ({"backward", "ortho", "forward"}, optional) – Normalization mode (see numpy.fft). Default is “backward”. Indicates which direction of the forward/backward pair of transforms is scaled and with what normalization factor.

Returns:

out – The truncated or zero-padded input, transformed along the axis indicated by axis, or the last one if axis is not specified. The length of the transformed axis is n, or, if n is not given, 2*(m-1) where m is the length of the transformed axis of the input. To get an odd number of output points, n must be specified.

Return type:

ndarray

Notes

This is really irfftn with different defaults. For more details see irfftn. Multi-GPU usage is limited to data parallel axis-wise batching.

See also

numpy.fft.irfft

Availability:

Multiple GPUs