Source: http://perso.eleves.ens-rennes.fr/people/fabrice.grela/stage/stage2.pdf