Source: http://perso.univ-mlv.fr/present/supports/pdfSTIC/archiResoLP06.pdf