Source: https://perso.univ-rennes1.fr/jean-christophe.breton/Fichiers/calculsto_M2.pdf