Source: https://www.math.univ-toulouse.fr/~fboyer/_media/enseignements/agreg/cours_edo_agreg_fboyer.pdf