Skip to contents

Computes the one dimensional discrete Fourier transform of input.


torch_fft_fft(self, n = NULL, dim = -1L, norm = NULL)



(Tensor) the input tensor


(int) Signal length. If given, the input will either be zero-padded or trimmed to this length before computing the FFT.


(int, optional) The dimension along which to take the one dimensional FFT.


(str, optional) Normalization mode. For the forward transform, these correspond to:

  • "forward" - normalize by 1/n

  • "backward" - no normalization

  • "ortho" - normalize by 1/sqrt(n) (making the FFT orthonormal) Calling the backward transform (ifft()) with the same normalization mode will apply an overall normalization of 1/n between the two transforms. This is required to make IFFT the exact inverse. Default is "backward" (no normalization).


The Fourier domain representation of any real signal satisfies the Hermitian property: X[i] = conj(X[-i]). This function always returns both the positive and negative frequency terms even though, for real inputs, the negative frequencies are redundant. rfft() returns the more compact one-sided representation where only the positive frequencies are returned.


if (torch_is_installed()) {
t <- torch_arange(start = 0, end = 3)
torch_fft_fft(t, norm = "backward")

#> torch_tensor
#>  Use `$real` or `$imag` to print the contents of this tensor.
#> [ CPUComplexFloatType{4} ]