Source: https://archimede.mat.ulaval.ca/theses/N-Savard_05.pdf