Source: https://alfaro.perso.math.cnrs.fr/L3-bio-poly.pdf