Source: http://www.math.univ-montp2.fr/~ribatet/docs/LogicielsScientifiques/cours.pdf