Source: https://trobert.wp.imt.fr/files/2018/02/intro-SdF-INF720-2018.pdf