Source: https://perso.univ-rennes1.fr/laurent.albera/alberasiteweb/cours/tp2_3_ts.pdf