Source: https://www.i2m.univ-amu.fr/~torresan/pages/LectureNotes/GeoPolL1_TD2_2015.pdf