Source: http://www.applis.univ-tours.fr/theses/2014/yves.trousselle_4167.pdf