Source: https://perso.telecom-paristech.fr/sabourin/mdi220/poly.pdf