Source: http://lacim.uqam.ca/~bedard/cours_A07/ACT2025_Cours1_compact.pdf