LSSTDESC / N5K

Non-local No-Nonsense Non-Limber Numerical Knockout
BSD 3-Clause "New" or "Revised" License
7 stars 7 forks source link

FKEM method, entry with nonlimber gg only, python fftlog implementation, currently at ~7.3 sec #15

Closed xfangcosmo closed 2 years ago

xfangcosmo commented 3 years ago

FKEM method (following Fang, Krause, Eifler, MacCrann paper: 1911.11947). nonlimber gg only. Nonlimber-limber difference in gs and ss don't contribute to S/N much. Current setting: nonlimber gg for \ell<200, limber gg for \ell>200; This can change. FFT settings can also be changed for better accuracy or higher efficiency. Current S/N difference is ~3, where gg part contribute to ~2.7. I'm not sure if it makes sense. Auto-gg power work mostly well. Some very low-ell values are probably not behaving well in the benchmark version. Some cross-gg power may need further check - however they shouldn't have contributed much to S/N. More over, those non-overlapping cross-bin gg power is zero in Limber, and tiny in nonlimber. I suspect they would be dominated by lens magnification in reality - which can use Limber.

xfangcosmo commented 3 years ago

Note that the use of python fftlog in this code is really suboptimal comparing to using the C version FFTW, especially for computing at many \ells with the same integrand. The C implementation would reuse the "FFTW plan", and reduce the total time by at least a factor of few.