gp - PARI calculator
gp [--stacksize|-s stacksize] [--primelimit|-p primelimit] [--emacs]
[-f|--fast] [-q|--quiet] [--help] [--test] [--texmacs] [--version]
[--version-short] [ file1 file2 ...]
Invokes the PARI-GP calculator, loading the file1, file2, ... (written
in the GP language) on startup. gp 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...). It can be
programmed with the GP scripting language. Its basic data types are
integers, real numbers, exact rational numbers, algebraic
numbers, p-adic numbers, modular integers (integers modulo n),
polynomials, rational functions,
and power series,
integral binary quadratic forms,
and recursive combinations of these.
Command line options are availaible in both short form (-f) and POSIX-
like (--fast). Numeric arguments can be followed by a modifier k , M or
G at the user’s convenience; in that case the argument is multiplied by
10^3, 10^6, or 10^9 respectively.
Fast start (or factory settings). Do not read .gprc (see below)
-p, --primelimit limit
Upon startup, gp computes a table of small primes used in
number-theoretic applications. If primelimit is set, the table
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
Quiet mode. Don’t print headers or history numbers, don’t say
-s, --stacksize limit
Size of gp internal stack allocated on startup. When gp runs out
of space, it interrupts the current computation and raises a
stack overflow exception. If this occurs frequently, start with
a bigger stack. The stack size can also be increased from within
gp, using default(parisize,...); it may be convenient to set
stacksize from your .gprc. Note that computations with a
smaller stack may be more efficient due to better data locality.
Most computations should need less than 20MB.
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.
--help print a summary of available command-line options.
--test run gp in test mode: suppress printing of history numbers and
wrap long output lines (to get readable diff output). For
gp can be run from a TeXmacs frontend. This flag is set by
TeXmacs, to enable special purpose communication channels. Do
not set it yourself.
output version info (banner) then exit.
output version number then exit.
? 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:
for editing and viewing the input history.
TAB for automatic completion
The following material is included in the standard distribution
(originally in TeX format):
The Users Guide to PARI/GP
The Users Guide to the PARI library
PARI/GP, a tutorial
PARI/GP reference card
(refcard.ps): 4 pages, based on an earlier version by Joseph H.
explains the use of the pari.el package, and how to customize it
gp main executable
(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
default logfile (can be changed in .gprc or interactively using
default psfile used for postscript output (as above)
gphelp default external help program (as above)
elisp package to run pari in an Emacs shell. Must be loaded from
your .emacs file.
*.gp GP programs
$GPRC place to look for the user’s gprc file (before $HOME/.gprc,
./gprc, and /etc/gprc in this order).
directory containing precomputed data. For now, the Galois
resolvents files in directory galdata/, needed by the polgalois
function, in degrees 8 to 11.
name of the external help program invoked by ?? and ???
name of the directory where temporary files will be generated.
PARI’s home page resides at
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
- pari-users: for everything else.
To subscribe, send empty messages respectively to
Bugs should be submitted online to our Bug Tracking System, available
from PARI’s home page, or directly from the URL
Further instructions can be found on that page.
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 Wager).
Note that PARI also means "fairy" in Persian.
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
(1995), 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.
dvips(1), emacs(1), gap(1), ghostview(1), gphelp(1), maple(1), perl(1),
readline(3), tex(1), texmacs(1), xdvi(1)
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.
10 August 2004