The PARI/GP system is a package that is capable of doing formal computations on recursive types at high speed; it is primarily aimed at number theorists. Its three main strengths are its speed, the possibility of directly using
data types that are familiar to
mathematicians, and its extensive algebraic number theory module. The PARI/GP system consists of the following standard components: •
PARI is a
C library, allowing for fast computations, and which can be called from a high-level language application (for instance, written in C,
C++,
Pascal,
Fortran,
Perl, or
Python). •
gp is an easy-to-use interactive
command line interface giving access to the PARI functions. It functions as a sophisticated programmable calculator which contains most of the control instructions of a standard language like C.
GP is the name of
gp's scripting language which can be used to program
gp. Also available is
gp2c, the GP-to-C compiler, which compiles GP scripts into the C language and transparently loads the resulting functions into
gp. The advantage of this is that
gp2c-compiled scripts will typically run three to four times faster.
gp2c understands almost all of GP. PARI/GP performs
arbitrary precision calculations (e.g., the
significand can be millions of digits long—and billions of digits on
64-bit machines). It can compute
factorizations, perform
elliptic curve computations and perform
algebraic number theory calculations. It also allows computations with
matrices,
polynomials,
power series,
algebraic numbers and implements many
special functions. PARI/GP comes with its own built-in graphical
plotting capability. PARI/GP has some symbolic manipulation capability, e.g., multivariate polynomial and rational function handling. It also has some formal
integration and
differentiation capabilities. PARI/GP can be compiled with
GMP (GNU Multiple Precision Arithmetic Library) providing faster computations than PARI/GP's native arbitrary-precision kernel. == History ==