We recently installed fftw in such a way that fft2 should be using fftw instead of fftpack.
The speed for real arrays got significantly improved :-) . However for complex arrays, things seem slower than before. It would seem even beneficial to calculate separately the fft2 of the real and imaginary parts:
ans = 0.39246
ans = 1.6244
ans = 0.88465
Also ifft2 for real solutions seems to be slower.
ans = 1.8613
I agree that octave can not know that c is the Fourier transform of a real function, but the user knows when he types real(ifft2(...
Is there a function that only calculates the real part of the inverse Fourier transform and that would be faster; something like real_ifft2( ?