Source: http://www-ljk.imag.fr/membres/Olivier.Gaudoin/PolyMSI.pdf