GP(1)

NAME
gp - PARI calculator

SYNOPSIS
gp [--stacksize|-s stacksize] [--primelimit|-p primelimit] [--emacs] [-f|--fast] [-q|--quiet] [--help] [--test] [--texmacs] [--version] [--version-short] [ file1 file2 ...]

DESCRIPTION
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

numbers
    integers, real numbers, exact rational numbers, algebraic numbers, p-adic numbers, modular integers (integers modulo n), complex numbers,

polynomials, rational functions,
    and power series,

integral binary quadratic forms,

matrices, vectors,
    and lists,

character strings,

and recursive combinations of these.

OPTIONS
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.

-f, --fast
    Fast start (or factory settings). Do not read .gprc (see below) upon startup.

-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 primes".

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

-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.

--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.

--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 benches only.

--texmacs
    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.

--version
    output version info (banner) then exit.

--version-short
    output version number then exit.

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 User's Guide to PARI/GP
    (users.dvi)

The User's Guide to the PARI library
    (library.dvi)

PARI/GP, a tutorial
    (tutorial.dvi)

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)

gphelp
    default external help program (as above)

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).

$GP_DATA_DIR
    directory containing data installed by optional PARI packages. For example, the Galois resolvents files in directory galdata/ needed by the polgalois function, in degrees 8 to 11; or the modular polynomials in seadata/ used by the ellap function for large base fields.

$GPHELP
    name of the external help program invoked by ?? and ??? shortcuts.

$GPTMPDIR
    name of the directory where temporary files will be generated.

HOME PAGE
PARI's home page resides at
    http://pari.math.u-bordeaux.fr/

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
Bugs should be submitted online to our Bug Tracking System, available from PARI's home page, or directly from the URL
    http://pari.math.u-bordeaux.fr/Bugs/
Further instructions can be found on that page.

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 Wager).

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 (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.

SEE ALSO
dvips(1), emacs(1), gap(1), ghostview(1), gphelp(1), maple(1), perl(1), readline(3), tex(1), texmacs(1), xdvi(1)

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.