Category:PARI/GP: Difference between revisions

From Rosetta Code
Content added Content deleted
(→‎General: update hyperpolyglot link)
Line 60: Line 60:
*[http://www.math.utah.edu/faq/pari/pari.html PARI/GP FAQ]
*[http://www.math.utah.edu/faq/pari/pari.html PARI/GP FAQ]
*[http://pari.math.u-bordeaux.fr/ateliers.html Ateliers PARI/GP]: Conference slides and other resources
*[http://pari.math.u-bordeaux.fr/ateliers.html Ateliers PARI/GP]: Conference slides and other resources
*[http://hyperpolyglot.org/computer-algebra Comparison with Mathematica, SymPy, and GAP]
*[http://hyperpolyglot.org/more-computer-algebra Comparison with Magma, GAP, and Singular]


=== Tutorials ===
=== Tutorials ===

Revision as of 03:05, 23 April 2016

Language
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:
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 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 Allombert.

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 snapshots are also available. 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 the PARI/GP site (via Emscripten), compile online or the SageMath cloud (see How to use PARI/GP in the SageMathCloud).

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:

  • C: PARI is written in C, so it's very easy to either write your own programs or extend gp using C. The gp2c utility converts GP scripts into executable C code.
    • 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:
    • SageMath (or SAGE) is a Python-based system that includes GP among others
    • pari-python
    • cython is a fork of the GP component of SageMath
  • Perl:
  • Common Lisp: Use Pari (CLISP).
  • Mathematica: A quick tutorial using MathLink is available.

See also

Resources

General

Tutorials

Papers on PARI/GP

Subcategories

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)