Source: https://matheo.uliege.be/bitstream/2268.2/2405/1/2008_2009_BOURGEOIS Sylvain.pdf