Source: http://math.univ-bpclermont.fr/~billerey/Miscellaneous/PolyTCMaths.pdf