Source: https://www.ensta-bretagne.fr/jaulin/master_cours_petri.pdf