Systems related to Number Theory


A package for number theory and simple numerical analysis

PARI is a system capable of handling complex number-theoretic and algebraic types with complete recursivity. The predefined types are integers (up to 300000 decimal digits), reals (same for the relative precision), elements of Z/nZ, rational numbers, complex numbers, p-adic numbers, quadratic numbers, polynomials, power series, algebraic extensions, rational functions, binary quadratic forms, vectors, matrices. Everything is recursive, so you can have matrices of polynomials with coefficients in an algebraic extension of Z/pZ for example. In particular, there is a complete package for algebraic number theory computations including handling of ideals, prime ideals, ideals, prime ideal factorization, p-adic factorization etc..., but also class group and unit computations as well as finding generators of principal ideals.

More than 200 special predefined functions, arithmetic or transcendental, are implemented, in addition to the usual arithmetic operations, which can be used without paying attention to the type of the object. The source uses more than 32000 lines of code, mainly in C.

PARI can be used as a library, but possesses also a powerful calculator mode which gives instant access to all the types and functions. In this mode, one can write programs with a simple syntax a little similar to C, but taking also LISP-like constructs.

PARI is NOT a symbolic manipulation package, in that all expressions are immediately expanded. For example, (x+y)^2 does give x^2+2xy+y^2, but sin(x) gives you the taylor series expansion around x=0 (to any number of terms specified by the user), and is not kept in the machine as an abstract object. It does NOT know about symbolic integration (except of course for polynomials or power series), but it does implement a number of numerical integration routines.

The main advantage of PARI is its speed. On a Unix platform, it is between 5 to 100 times faster than Maple or Mathematica, depending on the applications. Also it is specially tailored for use by number theorists, hence contains a large number of predefined number-theoretical functions not found in other systems. It can of course profitably be used by other people as well. Finally, it is free.

Currently, PARI is available for PC, Amiga, Macintosh, and most Unix platforms by anonymous ftp at in the directory pub/pari. The current version of PARI is 1.39 (Jan. 1995).

The email address of the PARI group is

Special Purpose Systems

Last updated: December 20, 1994