Why isn't this even function's FFT real?
<p>So, in iPython, I run the following,</p>

<pre><code>In [1]: from pylab import *;

In [2]: x = np.array([4.,3.,2.,1.,0.,1.,2.,3.,4.]);

In [3]: rfft(x)
Out[3]:
array([ 20.00000000+0.j        ,   7.79085937+2.83564091j,
        -0.21688142-0.18198512j,   0.50000000+0.8660254j ,
        -0.07397795-0.41954982j])
</code></pre>

<p>The variable <code>x</code> is an even function around the middle element in the array, but yet it's fft isn't entirely real as it should be. Why is that? How do I input an even function to numpy/scipy's fft function so it'll interpret it as the even function it's meant to be?</p>