Source: https://masterchemoinfo.u-strasbg.fr/Documents/Maths/Cours/Part3.pdf