http://pari.math.u-bordeaux.fr/
Pari GP, un logiciel surdoué pour le calcul.
PARI-GP est un ensemble de logiciels destiné principalement à la pratique du calcul sur les nombres, les fonctions ou les matrices, dans un contexte à coloration très arithmétique.
Il y a tout d'abord un calculateur en mode texte qu'on peut appeler au moyen de la commande gp. Le calculateur gp n'est pas a priori un outil de calcul formel, mais il possède néanmoins quelques capacités dans ce domaine. Les fonctions mathématiques accessibles sont très avancées et couvrent bien entendu tout le champ de l'enseignement secondaire (même très au delà, jusqu'à la recherche pointue en arithmétique ; mais il n'est bien sûr pas nécessaire d'avoir de telles connaissances pour exploiter les possibilités de base de PARI).
PARI comporte par ailleurs une librairie libpari permettant l'inclusion de routines mathématiques avancées dans des programmes en code C.
Pour les premiers pas, on pourra appeler l'aide en ligne en tapant un simple point d'interrogation ?, et la documentation complète en tapant deux points d'interrogations consécutifs (??). L'aide en ligne contextuelle sur une fonction s'obtient en précédant le nom de la fonction d'un point d'interrogation:
? ? exp exp(x): exponential of x
(!) le premier point d'interrogation, ici, est le prompt de gp, qui est lui aussi un point d'interrogation !
Notons tout d'abord qu'une interface utilisateur pour pari existe dans le logiciel de traitement de textes TeXmacs, permettant simplement d'insérer dans un document en cours d'élaboration le résultat d'un calcul.
PARI se distingue par un niveau de performances absolument phénoménal pour les calculs en multiprécision sur les nombres. Les calculs suivants faits avec une précision de 1000 décimales exactes s'effectuent en un temps si faible que ce temps reste imperceptible à l'utilisateur…
GP/PARI CALCULATOR Version 2.1.0 (released) i586 running linux (ix86 kernel) 32-bit version (readline v4.1 enabled, extended help available)
Copyright (C) 2000 The PARI Group
PARI/GP is free software, covered by the GNU General Public License, and comes WITHOUT ANY WARRANTY WHATSOEVER.
Type ? for help, \q to quit. Type ?12 for how to get moral (and possibly technical) support.
realprecision = 28 significant digits seriesprecision = 16 significant terms format = g0.28
parisize = 4000000, primelimit = 500000 ? \p 1000 realprecision = 1001 significant digits (1000 digits displayed) ? \p 40 realprecision = 48 significant digits (40 digits displayed) ? %1+%2 %3 = 262537412640768747.1415926535890433110598
PARI-gp est donc une calculatrice d'une puissance et d'une efficacité considérable. Un point commode est qu'une variable littérale non affectée est considérée comme une variable libre (c'est-à-dire une indéterminée d'un polynôme)
? (3*x+1)*(2*x-1)*(x-4) %4 = 6*x^3 - 25*x^2 + 3*x + 4
? sin(x) %6 = x - 1/6*x^3 + 1/120*x^5 - 1/5040*x^7 + 1/362880*x^9 - 1/39916800*x^11 + 1/6227020800*x^13 - 1/1307674368000*x^15 + O(x^16)
Mais nous dépassons ici largement le niveau du Lycée… Noter qu'on peut utiliser plusieurs variables ou paramètres simultanément, et affecter ensuite les valeurs de certaines :
? (1+a*x)*(a+x) %7 = a*x^2 + (a^2 + 1)*x + a
? a=2 %8 = 2 ? (1+a*x)*(a+x) %9 = 2*x^2 + 5*x + 2
Bien entendu, on dispose aussi d'un arsenal impressionnant de fonctions arithmétiques (taper ? 4 pour en avoir la liste, 4 étant le numéro de la rubrique NUMBER THEORETICAL functions)
? primes(20) %10 = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71]
? gcd(360,336)
%11 = 24
? binomial(120,71) %12 = 12930805958841513897337547991361800
Dans tous ces contextes, il y a un certain nombre de possibilités de calcul formel, notamment la dérivation des fractions rationnelles et des séries :
? deriv(1/x) %13 = -1/x^2
? deriv(sin(x))-cos(x) %14 = O(x^15)
? deriv(1/sin(x)) %15 = -x^-2 + 1/6 + 7/120*x^2 + 31/3024*x^4 + 127/86400*x^6 + 73/380160*x^8 + 1414477/59439744000*x^10 + 8191/2874009600*x^12 + O(x^13)
Signalons pour terminer que gp est une puissante calculatrice programmable, dotée d'instructions de programmation interne dont voici la liste :
? ? 11
addhelp alias allocatemem break default error extern for fordiv forprime forstep forsubgroup forvec getheap getrand getstack gettime global if input install kill next print print1 printp printp1 printtex quit read reorder return setrand system trap type until whatnow while write write1 writetex
et que Pari possède aussi de fortes capacités de calcul matriciel.
Source : http://ofset.sourceforge.net/freeduc/book/book_16.html