Source: https://perso.univ-lyon1.fr/olivier.gluck/Cours/Supports/M2SIR_CS/SPAI-C2-ApplisC-S-6p.pdf