Source: http://math.univ-lyon1.fr/~roblot/resources/masterpro_final_2005_correction.pdf