Source: http://smai.emath.fr/matapli_pdf/matapli82.pdf