Source: https://www-fourier.ujf-grenoble.fr/~dpiau/pub/Cours2010.pdf