Source: http://sebastien.rouillon.pagesperso-orange.fr/cours/flucteco/manuel_flucteco.pdf