Source: https://www.iro.umontreal.ca/~mignotte/IFT6150/Chapitre8_IFT6150.pdf