Source: https://perso.univ-rennes1.fr/michel.coste/MA5/MA5deter.pdf