Source: https://agreg-maths.univ-rennes1.fr/journal/2018/fft.pdf