The items after N/2 are the “negative frequencies”
It is not the case for real FFTs, the negative
frequency components are not stored in the
returned array.
Time domain data of length N are represented by
N Fourier components with N/2 positive and N/2
negative frequencies. The negative components are
“mirror image” of the positives, just complex-
conjugate, as Adam said. In many cases only the
positive frequency components are used in analyses.
If the input vector with N elements are
complex-valued, it is 2N long, and the FFTed data
contains N Fourier components. Since each of
the components is complex and represented by two
values (real, imag), the length required to store
the FFTed data are 2N, (N/2)*2 for positive
frequencies and (N/2)*2 for negatives.
If the input vector is of N real, we have only
N length field (many of C FFT routines store the
results in-plane) and thus only the positive
frequency components of N/2 complex values are
stored in the results.