Source: https://ljk.imag.fr/membres/Bernard.Ycart/mel/cp/cp.pdf