From Rosetta Code
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:
Listed below are all of the tasks on Rosetta Code which have been solved using 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é de Bordeaux; Aurel Page is the current project leader. gp was originally written by Dominique Bernardi, then maintained and enhanced by Karim Belabas and Ilya Zakharevich, and finally rewritten by Bill Allombert.

Getting PARI/GP

PARI/GP can be used in many different operating systems. This is a reasonably comprehensive list of currently-supported systems; for other systems, please use the mailing lists.

Operating system Kind Type of install Link How to install
Windows various installer (stable or development) official site run installer
XP, Vista, 7, 8, 10 standalone binaries (stable or development) official site run
various standalone binaries (daily) official site run
Linux Ubuntu/Debian package manager Debian packages sudo apt-get install pari-gp
Fedora package manager Fedora packages sudo dnf install pari-gp
Arch package manager Arch packages sudo pacman -S pari
RHEL/CentOS package manager sudo yum install pari-gp
FreeBSD package manager FreeBSD Ports Search sudo pkg install pari-2.11.3,2
various package manager Homebrew formula brew install pari
various build from source official site Building PARI/GP in Linux
macOS at least El Capitan (10.11) DMG installer (stable or development) official site Open dmg, drag to Applications (note: window may start minimized)
at least El Capitan (10.11) standalone binary (stable or development) official site run
unknown, at least OS X (10.?) package manager MacPorts (and portfile) sudo port install pari
unknown package manager Homebrew formula brew install pari
Android various package manager f-droid Install via F-Droid client or install APK directly
various package manager Google Play
various precompiled binary official site
various build from source github Building and Installing (note: requires Android SDK Tools and Android NDK)
various build from source official site Installing PariDroid
iOS ? Build from source on iSH Mailing list post Turn on iSh Disable Screen Dimming Setting, then apt get git gcc && git clone && cd pari && ./Configure && make install
iOS 8+ app sage-math Click the "+" in the top-right to start a new program, then click and hold on "Sage" at the top until the "Select Language" dropdown appears, then choose GP. (You can also use the wrapper function pari in a Sage snippet.)
online Chrome, Firefox, Internet Explorer local Javascript Emscripten
Chrome, Firefox local Javascript WebAssembly
Chrome, Firefox, Internet Explorer client/server coding ground
various client/server CoCalc How to use PARI/GP in the SageMathCloud (SageMathCloud is now CoCalc)

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 program with PARI, many languages are supported:

See also




Non-English language

Video tutorials

Syntax highlighting

Papers on PARI/GP


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

Pages in category "PARI/GP"

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

(previous page) (next page)
(previous page) (next page)