Source: http://step.ipgp.fr/images/d/d6/Cours-add-M2.pdf