Logo de Tangente Éducation

Des outils gratuits pour faire des maths

Samuel Lelièvre

Depuis de nombreuses années, la recherche en mathématiques s'appuie sur les outils informatiques. Les chercheurs créent, utilisent et améliorent les logiciels dont ils ont besoin. L'ordinateur permet la simulation et l'exploration.

Pour Nicolas Thiéry, professeur à l’université Paris-Sud et coordinateur du projet OpenDreamKit (voir plus bas), dans certains domaines des mathématiques « l’ordinateur est littéralement devenu l’analogue du télescope pour les astrophysiciens ». Des projets comme SageMath ou OpenDreamKit consistent à mutualiser tous ces outils en les rendant compatibles pour les mettre à la disposition de tous dans des environnements virtuels de travail collaboratif.

Pour ceux qui seraient intéressés par la démarche du « libre », le programme ModLibre (pour Modélisation Libre, accessible sur modlibre.info) est impliqué dans la promotion des ressources scientifiques libres pour l’éducation et la recherche. Il liste logiciels, sites, associations sur ce thème.

 

La saga Sage

À l’origine se trouve le mathématicien américain William Arthur Stein, alors chercheur en théorie des nombres à l’université Harvard (Massachusetts). Pour ses simulations, Stein utilise le logiciel de calcul formel Magma (Computational Algebra Group, université de Sydney, Australie), qu’il contribue à améliorer entre 1999 et 2004. Mais il n’a pas la main sur le code ou les mises en service des améliorations.

Il décide alors de créer son propre outil et explore l’univers des logiciels libres, plus flexible. Il se rend vite compte qu’une multitude d’outils conçus par des chercheurs en mathématiques existent déjà. La démarche la plus efficace semble être de rendre compatible l’existant et de l’agglomérer dans un unique environnement de travail. Plutôt que d’inventer un nouveau langage pour son projet, il utilise Python, qui a l’avantage d’être connu d’un grand nombre de programmeurs et de posséder une importante quantité de librairies. Le projet voit le jour en 2004 sous l’appellation SAGE (pour Software for Arithmetic Geometry Experimentation, puis Software for Algebra and Geometry Experimentation). Les domaines des mathématiques couverts par les outils intégrés ne cessant de s’étendre, l’acronyme se transforme en un simple nom : Sage (en 2007), qui devient par la suite SageMath, pour le différentier d’autres logiciels du même nom.

SageMath, qui compte environ 300 contributeurs dans le monde, contient environ cent cinquante outils pour la recherche en mathématiques, dont Maxima pour le calcul formel, Gap pour l’algèbre, Singular pour le calcul formel sur les polynômes ou encore Pari/GP pour la théorie des nombres. SageMath s’installe sous Linux, macOS, Windows, ou s’utilise en ligne sur sagecell.sagemath.org ou sur cocalc.com.

 

Des environnements personnalisés

Le projet européen OpenDreamKit (opendreamkit.org) touche à sa fin. Il aura fait intervenir une cinquantaine de personnes réparties sur une quinzaine de sites en Europe. Comme pour SageMath, l’objectif est de mutualiser des logiciels libres pour la recherche mathématiques. Mais il va plus loin en permettant la création d’environnements virtuels de recherche « personnalisés » avec les logiciels choisis. Le travail a consisté à documenter les différentes « briques », les améliorer et expliquer comment les faire fonctionner ensemble. L’objectif était de développer les aspects interface utilisateur, compatibilité, portabilité, parallélisme pour en faire un outil puissant et collaboratif.

L’environnement le plus utilisé est le Jupyter Notebook (jupyter.org).

Un notebook est une feuille pouvant mêler différents types de ressources qui fonctionnent ensemble. Un enseignant peut imaginer, par exemple, un texte explicatif suivi d’une équation dont on peut demander la résolution et dont on peut modifier à volonté les paramètres. Viendrait ensuite, toujours sur la même page, un programme Python exécutable ou un bloc de géométrie dynamique à manipuler.