Source: https://perso.univ-rennes1.fr/stephane.balac/ri/CREPUQ_1011.pdf