Source: https://lipn.univ-paris13.fr/~grozavu/CGP/data/Cours/GL2.pdf