I was wondering why ifft is slow compared to fft. For instance, with the following code:
N = 2^16; x=complex(randn(N,1),randn(N,1)); invN = 1/N; tic, for k=1:1000, z=ifft(x);end,toc tic, for k=1:1000, z2=conj(fft(conj(x)))*invN;end,toc
Elapsed time is 9.806159 seconds. Elapsed time is 5.950683 seconds.
with max(abs(z-z2)) = 4.8487e-18. The speed improvement is significant (40%) and it is substantially what I observe in much more complex simulations. Can you explain me the reason? I also tried fftw('planner','patient'), without significant change.