Source: https://www.lct.jussieu.fr/pagesperso/fuster/MC410/cours_2_MC410.pdf