Source: https://www.math.univ-toulouse.fr/~barthe/M1modlin/poly.pdf