Source: https://math.maths.univ-evry.fr/jeanblanc/cours/M2_cours.pdf