This is an old revision of this page, as edited by SkyBoxx (talk | contribs) at 07:24, 13 December 2006 (rvv). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Revision as of 07:24, 13 December 2006 by SkyBoxx (talk | contribs) (rvv)(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)PARI/GP is a computer algebra system with the main aim of facilitating number theory computations. As of July 2006, the stable version is 2.3.0 and the development version is 2.4.0. It is free software since Version 2.1.0 and is distributed under the terms of the GNU General Public License as published by the Free Software Foundation. It runs on most common operating systems.
PARI/GP was originally developed in 1987 by a team led by Henri Cohen at Laboratoire A2X and is now maintained by Karim Belabas at the University of Bordeaux with the help of many volunteer contributors.
The PARI system is a package that is capable of doing formal computations on recursive types at high speed. It is primarily aimed at number theorists, but can be used by anybody whose primary need is speed. It can be used to compute factorizations, to perform elliptic curve computations and to perform algebraic number theory. It also allows computations with matrices, polynomials, power series, algebraic numbers and implements many special functions.
Although quite an amount of symbolic manipulation is possible in PARI, the system does very badly compared to more sophisticated systems like AXIOM, Macsyma, Maple, Mathematica or Reduce on such manipulations (e.g. multivariate polynomials, formal integration, and so on). On the other hand, the three main advantages of the system are its speed (which can be between 5 and 100 times better on many computations), the possibility of directly using data types that are familiar to mathematicians, and its extensive algebraic number theory module, which has no equivalent in the above-mentioned systems.
It is possible to use PARI in two different ways:
- as a library, which can be called from an upper-level language application (for instance written in C, C++, Pascal. Fortran, Perl, or Python).
- as a sophisticated programmable calculator, named gp, which contains most of the control instructions of a standard language like C. It can be programmed in a language called GP.
Sample quick calculator usage:
? \p 200 realprecision = 202 significant digits (200 digits displayed)
? 123456! +0.0 time = 18,720 ms. %33 = 2.604069904929137872951393056092656881827327040950301958461018557 9952057379676834157935607166171279087355200170616660008572612714566985893 730865282934317244121152865814030204645985573419251305342231136 E574964
? sin(x) time = 0 ms. %34 = 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^17)
? for(z=25,30, print (factor(2^z-1))) time = 5 ms.
External links
- PARI/GP home page
- PARI/GP Resources at Karim Belabas homepage