Source: https://www.gerad.ca/~alainh/Chapitre2.pdf