Prix science ouverte pour le logiciel libre de mathématique PARI/GP

Science ouverte

Le logiciel libre PARI/GPsystème de calcul formel pour la théorie des nombres, a reçu le Prix science ouverte du logiciel libre de la recherche 2024 pour la catégorie « communauté ». Retour sur les spécificités techniques et solidaires de ce succès avec les scientifiques Bill Allombert et Aurel Page.

Constitution de l’équipe créatrice

Initialement développé par Henri Cohen et son équipe à l’Université Bordeaux I1 , PARI/GP est actuellement sous licence publique générale GNU (GNU GPL), maintenu par Karim Belabas depuis 1994, avec l'aide de nombreuses collaboratrices et collaborateurs bénévoles. Bill Allombert rejoint le projet autour de 1998. Aurel Page assume aujourd’hui la direction scientifique du logiciel.

Présentation du logiciel

PARI/GP est un système de calcul formel très répandu dans la communauté internationale des théoriciennes et théoriciens des nombres. Conçu pour des calculs rapides en arithmétique (factorisations, théorie algébrique des nombres, courbes elliptiques, formes modulaires, fonctions L), il contient aussi un grand nombre de fonctions pour le calcul matriciel et polynomial, l'intégration ou la sommation numérique, ainsi que de nombreuses fonctions transcendantes. Pour optimiser sa performance de calcul, PARI est aussi disponible sous forme d’une bibliothèque en langage de programmation C.

  • PARI est une bibliothèque C, permettant des calculs rapides. 
  • gp est un interpréteur, donnant accès aux routines de PARI, mais bien plus simple et intuitif à utiliser.
  • GP est le nom du langage compris par gp.
  • gp2c est un compilateur qui permet de traduire le langage GP en langage C. Cela permet de cumuler les avantages de gp et de PARI, en compilant les scripts GP en C, puis en chargeant les fonctions correspondantes dans gp de façon transparente (un script compilé par gp2c sera typiquement quatre fois plus rapide). Actuellement, gp2c ne sait gérer qu'une partie du langage GP. 

Selon Bill Allombert, « le nom du logiciel provient de raisons historiques. « Pari » fait à la fois référence à « programme arithmétique » et au « pari de Pascal » puisqu’à l’origine le logiciel avait été écrit dans le langage de programmation Pascal.  Quant à « gp », « great programmable », Bill Allombert précise « on fait référence au calculateur ». Le logiciel s’est en effet d’abord appelé « gc » pour « great calculator » en référence aux commandes UNIX « bc » pour « basic calculator » et « dc » pour « desk calculator ». « Pour rigoler, on a déterminé le suffixe « gpc » pour faire référence à « great programmable calculator » puis a été raccourci en « gp ». C’est resté depuis ! »

Spécificités techniques

« Le périmètre scientifique est pyramidal », précise Bill Allombert. « Les couches basses sont accessibles à des mathématiciennes ou mathématiciens sans en faire des maths très élevées. C’est par exemple le cas avec le calcul multi-précision, ce qui est assez basique mais sert à beaucoup de scientifiques. Un des avantages du logiciel PARI/GP est qu’il est très compact, tout en faisant beaucoup de chose : il peut être intégré dans d’autres programmes sans compromettre ces derniers ». 

Lauréat de la catégorie « communauté »

Récompensé par le prix science ouverte du logiciel libre de la recherche pour la catégorie « communauté », le logiciel PARI/GP se distingue effectivement par ses actions de solidarité et de partage de savoirs destinés aux collègues scientifiques. Chaque année, et ce depuis 2012, l’équipe planifie un temps fort lors d’une semaine en janvier. Bill Allombert décrit le programme : « Le matin, on organise des tutoriels et des présentations sur les nouvelles fonctionnalités du logiciel. Il y a aussi des présentations sur des optimisations éventuelles par différentes intervenantes et intervenants. L’après-midi, les groupes sont répartis dans diverses salles et résolvent chacun des problèmes rencontrés avec PARI/GP. On se donne des conseils pour avancer, on s’entraide ».

À ce temps fort annuel s’ajoutent des ateliers plus ponctuels, plutôt destinés à des étudiantes ou étudiants, organisés dans différents pays (France, Inde, Italie, Maroc, Turquie, …).

Gestion des contributions

 « Nous n’avons pas de protocole défini en ce qui concerne les contributions », estime Aurel Page,  « tout passe par nous, et on échange là-dessus ». La raison est que la plupart des contributions sont écrites en GP nécessitant une conversion en C puisque PARI est écrit dans ce langage. Le logiciel comptabilise près de 60 contributrices et contributeurs issus de nombreux pays : Allemagne, États-Unis d’Amérique, France, Japon, Pays-Bas, Philippines… Une diversité signe de la richesse du logiciel. 

Depuis 2018, PARI/GP est cité de façon accrue dans des articles de recherche, ce qui va de pair avec l’évolution des normes bibliographiques.

Découvrir la liste des contributions

  • 1Université de Bordeaux I est depuis devenu une composante de Université de Bordeaux.

Pour en savoir plus :

Contact

Bill Allombert
Ingénieur d'études en calcul formel
Aurel Page
Chercheur à l'Inria
Violaine Louvet
Déléguée scientifique données et calcul scientifique