Source: https://www.ljll.math.upmc.fr/~nardoni/polyagrl3/2017/chapt3.pdf