Source: https://ecariou.perso.univ-pau.fr/papers/JMAC-06.pdf