Source: https://www.math.univ-toulouse.fr/~lagnoux/Poly_SC.pdf