Source: https://math.unice.fr/~nivoche/pdf/PolyMiseNiveausep2014version9.pdf