Source: http://perso.ecp.fr/~laurent/Modef/Documents/M06A_4ec.pdf