Source: https://www.math.u-bordeaux.fr/~ayger/TP7-2012.pdf