Source: https://www.ljll.math.upmc.fr/MathModel/enseignement/polycopies/BD_3.pdf