Source: https://oatao.univ-toulouse.fr/10841/1/Prillieux_10841.pdf