Source: https://perso.liris.cnrs.fr/nbousquet/ECL_RO/RO_Cours1et2_bousquet.pdf