Source: https://www.math.univ-toulouse.fr/~jbhu/Opuscule_9_Intro.pdf