Source: https://www.math.sciences.univ-nantes.fr/~guillope/l3-osc/osc.pdf