Source: https://publication-theses.unistra.fr/public/theses_doctorat/2001/Carrayrou_Jerome_2001.pdf