---
name: "gp-2.1"
section: "1"
platform: "linux"
package: "pari-gp"
version: "2.1.6-3"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/gp-2.1"
---

# gp-2.1(1)

PARI calculator

## NAME

gp - PARI calculator

## SYNOPSIS

**gp** \[**-emacs**\] \[**-f**\] \[**-test**\] \[**-q**\] \[**-s** *stacksize*\] \[**-p** *primelimit*\]

## DESCRIPTION

Invokes the PARI-GP calculator. This is an advanced programmable calculator, which computes symbolically as long as possible, numerically where needed, and contains a wealth of number-theoretic functions (elliptic curves, class field theory...). Its basic data types are

- numbers

  integers, real numbers, exact rational numbers, algebraic numbers, **p**-adic numbers, complex numbers,

- modular integers

  integers modulo **n**,

- polynomials

  and rational functions,

- power series,

  - binary quadratic forms,

  - matrices, vectors,

  and lists,

- character strings,

  and recursive combinations of these.

## OPTIONS

A numeric argument to the following options can be followed by a  **k** or a **M** at the user's convenience. In that case the argument is multiplied by 1000 or 1000000 respectively. The following command line options are available:

- **-emacs**

  GP can be run in an *Emacs* shell (see GP User's manual for details). This flag is then required for smooth interaction with the relevant *Emacs* package (pari.el). It is set automatically by the pari.el package, and will produce nice display oddities if you set it outside of an *Emacs* session.

- **-f**

  Fast start (or factory settings). Do not read **.gprc** (see below) upon startup.

- **-q**

  Quiet mode. Don't print headers or history numbers, don't say goodbye.

- **-p** *primelimit*

  Upon startup, GP computes a table of small primes used in most number-theoretic applications. If *primelimit* is set here, include primes up to that bound instead of the default. Unreasonably high values will considerably increase startup time. Exceedingly small values will cause some number-theoretic functions to fail with the message "not enough precomputed primes".

- **-s** *stacksize*

  Size of GP internal stack. The stack is increased from within GP in case of need but might interrupt an important computation. If your machine can stand it, start with a bigger stack (especially if you make heavy use of linear algebra). Not that computations with a  **smaller** stack may be more efficient due to better data locality. Sensible computations should need less than 20MB.

- **-test**

  run GP in test mode: suppress printing of history numbers and wrap long output lines (to get readable diff output). For benches only.

## USE

- **?**

  to get online help.

- **??**

  to get extended online help (more precisely, to call the external help program, **gphelp** by default)

- **quit**

  (or \\q), or **EOF** (Ctrl-D) to quit **gp**.

The following works only when gp was linked with GNU *readline* library:

- arrow keys

  for editing and viewing the input history.

- **TAB**

   for automatic completion

## MANUALS

The following material is included in the standard distribution (originally in TeX format):

- *The PARI/GP Users's Manual*

  (users.dvi)

- *PARI/GP, a tutorial*

  (tutorial.dvi): not yet completed but still useful.

- *PARI/GP reference card*

  (refcard.ps): 4 pages, based on an earlier version by Joseph H. Silverman.

- *pariemacs.txt*

  explains the use of the pari.el package, and how to customize it (prompt, colors).

## FILES

- *gp*

  main executable

- *$HOME/.gprc*

  (or $GPRC if set) read at beginning of execution by each **gp** shell. A default gprc *gprc.dft* is provided with the distribution. If this file cannot be found, */etc/gprc* is checked instead.

- *pari.log*

  default logfile (can be changed in *.gprc* or interactively using **default()** )

- *pari.ps*

  default psfile used for postscript output (as above)

- */usr/bin/gphelp*

  default external help program (as above)

- */usr/share/doc/pari-gp/emacs/pari.el*

  elisp package to run pari in an *Emacs* shell. Must be loaded from your *.emacs* file.

- *\*.gp*

  gp programs

## ENVIRONMENT

- *$GPRC*

  place to look for the user's gprc file (before $HOME/.gprc, ./gprc, and /etc/gprc in this order).

## PRIMARY FTP SITE

The most recent distributions can be found at

*ftp://megrez.math.u-bordeaux.fr/pub/pari*

Tips, development info, nice icons and bad jokes can be found at PARI home page, set up by Gerhard Niklasch at

*http://www.parigp-home.de/*

## MAILING LISTS

There are three mailing lists devoted to the PARI/GP package (run courtesy of Dan Bernstein), and most feedback should be directed to those. They are:

\- **pari-announce** (moderated): for us to announce major version changes.

\- **pari-dev:** for everything related to the development of PARI, including suggestions, technical questions, bug reports or patch submissions.

\- **pari-users:** for everything else.

To subscribe, send empty messages respectively to

   pari-announce-subscribe@list.cr.yp.to

   pari-users-subscribe@list.cr.yp.to

   pari-dev-subscribe@list.cr.yp.to

## BUG REPORTS

If you find a bug, you should report it. But first make sure that it really is a bug and that it appears in the latest version of **gp** that you have. Then you can actually mail your bug report (make it short and easily reproducible if possible), including the header **gp** displays on startup, to the *pari-dev* mailing list (preferably) or to *pari@math.u-bordeaux.fr*. Fixes are welcome too !

## TRIVIA

Despite the leading G, GP has nothing to do with GNU. The first version was originally called GPC, for Great Programmable Calculator. For some reason, the trailing C was eventually dropped.

PARI has nothing to do with the French capital. The name is a pun about the project's early stages when the authors started to implement a library for "Pascal ARIthmetic" in the PASCAL programming language (they quickly switched to C).

For the benefit of non-native French speakers, here's a slightly expanded explanation: **Blaise Pascal** (1623-1662) was a famous French mathematician and philosopher who was one of the founders of probability and devised one of the first "arithmetic machines". He once proposed the following "proof" of the existence of God for the unbelievers: whether He exists or not I lose nothing by believing in Him, whereas if He does and I misbehave... This is the so-called "pari de Pascal" (Pascal's bet).

Note that PARI also means "fairy" in Persian.

## AUTHORS

PARI was originally written by Christian Batut, Dominique Bernardi, Henri Cohen, and Michel Olivier in Laboratoire A2X (Universite Bordeaux I, France), and was maintained by Henri Cohen up to version 1.39.15, and by Karim Belabas since then.

A great number of people have contributed to the successive improvements which eventually resulted in the present version. See the AUTHORS file in the distribution.

## SEE ALSO

[*dvips*(1)](/dvips/1.md), [*emacs*(1)](/emacs/1.md), [*gap*(1)](/gap/1.md), *ghostview*(1), [*gphelp*(1)](/gphelp/1.md), *maple*(1), [*perl*(1)](/perl/1.md), [*readline*(3)](/readline/3.md), [*tex*(1)](/tex/1.md), *[xdvi(1)](/xdvi/1.md)*

## COPYING

This program is  free  software;  you  can  redistribute  it and/or  modify  it under the terms of the GNU General Public License as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A  PARTICULAR  PURPOSE.  See the GNU General Public License for more details.

You should have received a copy of the  GNU  General  Public License  along  with this program; if not, write to the Free Software Foundation,  Inc.,  675  Mass  Ave,  Cambridge,  MA 02139, USA.
