Source: https://irma.math.unistra.fr/~guillot/cours/cours-concis.pdf