Hi there!
I’m looking for some comparison between speed and reproducibility of FFT packages in Fortran and C++. I would like to know use cases where one would prefer to use FFTW or fftpack.
Context:
I’m trying to implement a Runge-Kutta type method to numerically solve the nonlinear schrodinger equation (for laser pulse propagation). This particular method simply a combination of the traditional RK4 method and the split-step Fourier method. At every step it requires switching back and forth between time and fequency domain, which involves FFT for exponential of matrix (i.e. something like fft(exp(M)))
). It involves exactly 8 FFT operations per one timestep. Given, that the timestep has to be small enough compared to the total time of propagation, the FFT steps can quickly become a major computational bottle neck. In this context, I’m trying to figure out it would better to implement this solver using fftpack (in Fortran) or FFTW (in C++).
I’d like to know if anyone has any idea about the same?