Compute the one-dimensional discrete Fourier Transform for real input.
This function computes the one-dimensional n-point discrete Fourier Transform (DFT) of a real-valued array by means of an efficient algorithm called the Fast Fourier Transform (FFT).
a : array_like
n : int, optional
axis : int, optional
out : complex ndarray
When the DFT is computed for purely real input, the output is Hermite-symmetric, i.e. the negative frequency terms are just the complex conjugates of the corresponding positive-frequency terms, and the negative-frequency terms are therefore redundant. This function does not compute the negative frequency terms, and the length of the transformed axis of the output is therefore n/2+1.
When A = rfft(a), A contains the zero-frequency term, which must be purely real due to the Hermite symmetry.
If n is even, A[-1] contains the term for frequencies n/2 and -n/2, and must also be purely real. If n is odd, A[-1] contains the term for frequency A[(n-1)/2], and is complex in the general case.
If the input a contains an imaginary part, it is silently discarded.
>>> np.fft.fft([0, 1, 0, 0]) array([ 1.+0.j, 0.-1.j, -1.+0.j, 0.+1.j]) >>> np.fft.rfft([0, 1, 0, 0]) array([ 1.+0.j, 0.-1.j, -1.+0.j])