Source: https://www.ljll.math.upmc.fr/trelat/fichiers/livreopt.pdf