Source: http://www.applis.univ-tours.fr/theses/2017/sidiahmed.elbaqqaly_14924.pdf