Source: https://lmbp.uca.fr/~fdumas/fichiers/GpAnn1cours.pdf