IMTEK-Simulation / NuMPI

Utilities for MPI-parallel numerical calculations with Python
MIT License
2 stars 1 forks source link

Spare 1 FFT in bugnicourt #47

Open sannant opened 3 years ago

sannant commented 3 years ago
grafik

currently in the code we compute hessp = IFFT(A FFT(d)) and then compute the scalar product of hessp with d to obtain d A d. With the use of equation (23) to compute the search direction (or the polonsky and Keer style version below), hessp is never needed directly and hence d A d can be evaluated in Fourier space directly (Parseval's theorem), sparing the inverse Fourier Transform.

I believe there are in total 4 ffts per iteration. Since we believe FFT's are responsible for most of the computation time, we can hope to almost 25 % of the walltime like this.