Source: http://math.univ-lyon1.fr/~poquet/TD_M1appli/TD6.pdf