Source: https://irma.math.unistra.fr/~fbertran/enseignement/Master1_FC_MCB/Cours5.pdf