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.
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) |