# Category:PARI/GP

**PARI/GP**

This

**programming language**may be used to instruct a computer to perform a task.

Official website |
---|

Execution method: | Interpreted or compiled |
---|---|

Garbage collected: | Yes |

Parameter passing methods: | By reference, By value |

Type strength: | Weak |

Type checking: | Dynamic |

Lang tag(s): | parigp, c |

See Also: |

**Your Help Needed**

If you know

**PARI/GP**, please write code for some of the tasks not implemented in

**PARI/GP**.

PARI/GP is a widely used computer algebra system designed for fast computations in number theory (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other useful functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers etc., and a lot of transcendental functions.

PARI/GP is composed of two parts: a C library called PARI and an interface, gp, to this library. GP scripts are concise, easy to write, and resemble mathematical language. (Terminology: the scripting language of gp is called GP.)

PARI was written by Henri Cohen and others at Université Bordeaux I and is now maintained by Karim Belabas. gp was originally written by Dominique Bernardi, then maintained and enhanced by Karim Belabas and Ilya Zakharevich, and finally rewritten by Bill Alombert.

## Contents |

## [edit] Using PARI/GP

PARI/GP can be downloaded at its official website's download page.

Windows precompiled binaries are available: an installer, stand-alone stable and development versions, plus a nightly build with the very latest changes.

Mac users may find it convenient to download the version from Fink.

Linux users can install PARI/GP with their favorite package manager (RPM, dpkg, apt, etc.) or build it from source. Instructions are available for compiling.

Android phones and tablets can use paridroid (also on github).

While an iPhone/iPad version has not been developed, sage-math includes PARI and GP commands can be invoked with the wrapper function `pari`

.

Finally, gp can be used online through compile online or the SageMath cloud.

## [edit] Coding with PARI

The most common way to use PARI is through the gp calculator, using its own scripting language, GP. But there are other interfaces to PARI beside gp:

If you want to write a program rather than script a calculator, many languages are supported:

- C: PARI is written in C, so it's very easy to either write your own programs or extend gp using C.
- For use with the Gnu Mpc library, there is also Pari-Gnump.

- C++: PARI can be used directly in C++. The code is intentionally written in a C++-compatible style.
`-fpermissive`

is sometimes useful when compiling with g++. - Python: SAGE is a Python-based system that includes PARI among others; there is a pari-python library as well.
- Perl: Use Math::Pari or GPP.
- Common Lisp: Use Pari (CLISP).

## [edit] See also

## [edit] Resources

### [edit] General

- PARI/GP FAQ
- Resources for PARI/GP
- Atelier PARI/GP 2012: Conference slides

### [edit] Tutorials

- Official tutorial by C. Batut, K. Belabas, D. Bernardi, H. Cohen, M. Olivier (52 pp., 2011)
- Class notes, parts 12345sieve by Benjamin L. Levitt (41 pp., 2009)
- Tutorial by Robert B. Ash (20 pp., 2007)
- Tutorial by Siman Wong (6 pp., 2009)
- Introduction by Keith Conrad (7 pp., 2008)
- The Pari Package On Linux, by Klaus-Peter Nischke (3 pp., 1995)
- PARI/GP programming for basic cryptography by Minh Van Nguyen (appx. 3 pp., 2008)
- Exploring binary numbers with PARI/GP calculator by Rick Regan (appx. 4 pp., 2009)
- Video tutorials, parts 1 2 3 4 (appx. 20 minutes, 2011)

### [edit] Papers on PARI/GP

- Bill Alombert, A new interpretor for PARI/GP,
*Journal de Théorie des Nombres de Bordeaux***20**:3 (2008), pp. 531–541. (English) - Paul Zimmermann, The Ups and Downs of PARI/GP in the last 20 years, Explicit Methods in Number Theory, October 15th-19th 2007

## Subcategories

This category has the following 3 subcategories, out of 3 total.

## Pages in category "PARI/GP"

The following 405 pages are in this category, out of 405 total.

- Execution method/Interpreted
- Execution method/Compiled
- Garbage collection/Yes
- Parameter passing/By reference
- Parameter passing/By value
- Typing/Weak
- Typing/Checking/Dynamic
- Programming Languages
- Programming paradigm/Dynamic
- Programming paradigm/Functional
- Programming paradigm/Procedural
- Mathematical programming languages