# PARI/GP

PARI/GP est un système de calcul formel ayant pour objectif principal de faciliter les calculs en théorie des nombres. C'est un logiciel libre distribué selon les termes de la licence publique générale GNU, qui fonctionne sous la plupart des systèmes d'exploitation.

## Vue générale du système

Le système PARI/GP est un ensemble de logiciels capables d'effectuer des calculs formels très rapides sur des types récursifs, et avant tout destiné aux théoriciens des nombres. Ses principaux points forts sont sa vitesse, la possibilité d'utiliser directement des types de données familiers aux mathématiciens, et son vaste module de théorie algébrique des nombres.
Le système est constitué des composants standards suivants :
* PARI est une bibliothèque écrite en C (ce qui permet des calculs rapides) pouvant être appelée à partir d'un langage de commandes de haut niveau (écrit, par exemple, en C++, Pascal, Fortran, Perl, ou Python).
* gp est une interface en ligne de commande conviviale et interactive donnant accès aux fonctions de PARI. Elle fonctionne comme une calculatrice programmable sophistiquée contenant la plupart des instructions de contrôle d'un langage standard tel que C. GP est le nom du langage de scripts qui peuvent être utilisés pour programmer gp.
Un compilateur de GP en langage C, gp2c, est également disponible ; il compile les scripts de GP et charge les fonctions résultantes dans gp de façon transparente pour l'utilisateur, l'avantage étant que des scripts ainsi compilés s'exécutent trois à quatre fois plus vite en général. Pour le moment, gp2c ne comprend cependant qu'une partie du langage GP.
PARI/GP effectue des calculs en précision arbitraire ; ainsi, la mantisse des données et des résultats peut avoir des millions de chiffres, voire des milliards sur des machines à processeur 64 bits. Il peut factoriser, effectuer des calculs sur des courbes elliptiques, ou plus généralement des calculs de théorie algébrique des nombres. Il permet également de manipuler des matrices, des polynômes, des séries entières, des nombres algébriques ainsi que de nombreuses fonctions spéciales.
PARI/GP possède des capacités graphiques (lui permettant essentiellement de tracer le graphe d'une fonction) et de manipulation symbolique, par exemple des polynômes et des fonctions rationnelles à plusieurs variables. En revanche, ses capacités d'intégration et de dérivation formelle sont inférieures à celles de systèmes de calcul formel plus sophistiqués, tels que Mathematica.
PARI/GP peut être compilé avec GMP (la bibliothèque de calcul en multiprécision GNU), permettant des calculs plus rapides que ceux du noyau de calcul en précision arbitraire original.

## Historique

Le précurseur de PARI/GP était un programme appelé ISABELLE, un interpréteur pour des problèmes de théorie des nombres écrit en 1979 par Henri Cohen et François Dress (à l'université Bordeaux I). PARI/GP fut développé en 1985 par une équipe dirigée par Henri Cohen au Laboratoire A2X, et la maintenance en est à présent assurée par Karim Belabas et Bill Allombert à l'université Bordeaux 1, avec l'aide de nombreux volontaires. Au 3 mars 2020, la version stable était la 2.11.3. Depuis la version 2.1.0, c'est un logiciel libre distribué selon les termes de la licence publique générale GNU. Il fonctionne sous la plupart des systèmes d'exploitation.

### Étymologie du nom PARI/GP

Le nom PARI est un jeu de mots venant des premiers stades du projet, lorsque les auteurs commencèrent à implémenter en Pascal une bibliothèque d'ARIthmétique (cependant, ils devaient rapidement abandonner ce langage en faveur de C), et, bien sûr, en référence au "pari de Pascal".
La première version du calculateur gp était initialement appelée GPC, pour Grand Programmable Calculateur. Le C final disparut pour on ne sait trop quelle raison.

## Exemples d'utilisation

On trouvera ci-dessous quelques exemples d'utilisation du calculateur gp :