Source: https://www.math.univ-paris13.fr/~chaussar/Teaching/2016-2017/Master2/TP/TP1/EnonceTP1.pdf