PARI/GP

Introduction

PARI/GP permet d'effectuer des calculs rapides en arithmétique (factorisations, théorie algébrique des nombres, courbes elliptiques, calcul matriciel, développements limités, nombres algébriques, fonctions transcendantes, etc..). PARI/GP Initialement développé par Henri Cohen et ses collaborateurs (Université Bordeaux I, France), est maintenant sous licence GPL, maintenu par Karim Belabas, avec l'aide de nombreux collaborateurs bénévoles.

PARI est une bibliothèque C, permettant des calculs rapides.

gp est un interpréteur, donnant accès aux routines de PARI, de façon simple.

GP est le nom du langage compris par gp.

gp2c est le compilateur GP-->C utilisant la bibliothèque PARI. Il compile les scripts GP en C. Un script compilé par gp2c sera typiquement 3 ou 4 fois plus rapide. Actuellement, gp2c ne comprend qu'un sous-ensemble de GP.

http://pari.math.u-bordeaux.fr/
http://fr.wikipedia.org/wiki/PARI/GP

Sous debian testing, l'installation se fait à l'aide de la commande suivante :

apt-get install pari-gp pari-gp2c pari-galpol pari-extra

Pour lancer l'application en console taper gp, il apparait alors un texte lors de l'ouverture de la session et un prompt de commande ?

Reading GPRC: /etc/gprc ...Done.

                  GP/PARI CALCULATOR Version 2.5.4 (released)
           i486 running linux (ix86/GMP-5.1.1 kernel) 32-bit version
               compiled: May 13 2013, gcc-4.7.3 (Debian 4.7.3-4) 
                 (readline v6.2 enabled, extended help enabled)

                     Copyright (C) 2000-2013 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.

parisize = 4000000, primelimit = 500509
?

Exemples de commandes en ligne

?exp exp(x): exponential of x. Aide en ligne de commande
\p 3 realprecision = 9 significant digits (3 digits displayed) Fixe la précision en nombre de chiffres
Pi %1 = 3.14  
exp(Pi) %2 = 23.1  
%2-%1 %3 = 20.0  
(2*x+1)^2*(2-x) %4 = -4*x^3 + 4*x^2 + 7*x + 2  
((x+1)/(x-1))^2
%5 = (x^2 + 2*x + 1)/(x^2 - 2*x + 1)  
sin(x) %6 = x - 1/6*x^3 + 1/120*x^5 - 1/5040*x^7 + O(x^9)  
cos(Pi) %7 = -1.00  

 

 

\p 3 realprecision = 9 significant digits (3 digits displayed)  
1/4 %1 = 1/4  
1.0/4 %2 = 0.250  
type(5) %3 = "t_INT"  
type("toto") %4 = "t_STR"  
7! %5 = 5040  
divrem(11,7) %6 = [1, 4]~
 
type(%) %7 = "t_COL"  
binomial(4,2) %8 = 6 Nombre de façons de placer 2 billes
identiques dans 4 trous distincts.

 

 

Commande
Description
? Liste les chapitres de l'aide
?? Affiche le manuel
?exp Donne une documentation minimale sur la fonction exp
??exp Affiche la partie du manuel relative à la fonction exp
???"mot-clé" Indique les fonctions ayant un rapport avec le mot clé
\t Liste les différents types du système
% Résultat précédent
%` Résultat précédent précédent
%`` Résultat précédent précédent précédent
Ctrl C User interrupt
## Temps de calcul CPU de la dernière commande
# Active/Désactive le chronomètrage de chaque commande
\gn Mode débug niveau n (de 0 à 10)

 

Commande
Description
t_INT
long integers
t_REAL long real numbers
t_INTMOD integermods
t_FRAC irred. rationals
t_FFELT finite field elt.
t_COMPLEX complex numbers
t_PADIC p-adic numbers
t_QUAD quadratic numbers
t_POLMOD poly mod
t_POL polynomials
t_SER power series
t_RFRAC irred. rat. func.
t_QFR real qfb
t_QFI imaginary qfb
t_VEC row vector
t_COL column vector
t_MAT matrix
t_LIST list
t_STR string
t_VECSMALL vec. small ints
t_CLOSURE functions

 

x=factorint(2^5*5^3) %1 =
[2 5]

[5 3]

 
type(x) %2 = "t_MAT"  
x[1,2] %3 = 5  
(1-I)^2 %4 = -2*I  
type(%) %5 = "t_COMPLEX"  
imag(2+3*I) %6 = 3  
real(2+3*I) %7 = 2  

 

x =1300+O(3^5) %1 = 1 + 3 + 3^4 + O(3^5)  
type(x) %2 = "t_ PADIC"  
log(x) %3 = 3 + 2*3^2 + 3^3 + 3^4 + O(3^5)  

x = Mod(3,5)

%4 = Mod(3,5)  
issquare(x) %5 = 0  
lift(x) %6 = 3  
centerlift(x) %7 = -2  
chinese(Mod(2,15),Mod(5,6)) %8 = Mod(17,30)  

 

 


Dominique Mabboux-Stromberg