torch.fft.fft¶
- torch.fft.fft(input, n=None, dim=-1, norm=None, *, out=None) Tensor ¶
Computes the one dimensional discrete Fourier transform of
input
.Note
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.Note
Supports torch.half and torch.chalf on CUDA with GPU Architecture SM53 or greater. However it only supports powers of 2 signal length in every transformed dimension.
- Parameters
input (Tensor) – the input tensor
n (int, optional) – Signal length. If given, the input will either be zero-padded or trimmed to this length before computing the FFT.
dim (int, optional) – The dimension along which to take the one dimensional FFT.
norm (str, optional) –
Normalization mode. For the forward transform (
fft()
), these correspond to:"forward"
- normalize by1/n
"backward"
- no normalization"ortho"
- normalize by1/sqrt(n)
(making the FFT orthonormal)
Calling the backward transform (
ifft()
) with the same normalization mode will apply an overall normalization of1/n
between the two transforms. This is required to makeifft()
the exact inverse.Default is
"backward"
(no normalization).
- Keyword Arguments
out (Tensor, optional) – the output tensor.
Example
>>> t = torch.arange(4) >>> t tensor([0, 1, 2, 3]) >>> torch.fft.fft(t) tensor([ 6.+0.j, -2.+2.j, -2.+0.j, -2.-2.j])
>>> t = torch.tensor([0.+1.j, 2.+3.j, 4.+5.j, 6.+7.j]) >>> torch.fft.fft(t) tensor([12.+16.j, -8.+0.j, -4.-4.j, 0.-8.j])