.. _spkg_pari:

pari: Computer algebra system for fast computations in number theory
====================================================================

Description
-----------

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 is also available as a C library to allow
for faster computations.

Originally developed by Henri Cohen and his co-workers (Université
Bordeaux I, France), PARI is now under the GPL and maintained by Karim
Belabas with the help of many volunteer contributors.

License
-------

GPL version 2+


Upstream Contact
----------------

-  http://pari.math.u-bordeaux.fr/

Dependencies
------------

-  Perl
-  MPIR or GMP
-  Readline
-  GNU patch (shipped with Sage)


Special Update/Build Instructions
---------------------------------

See patches/README.txt for a list of patches.

The current upstream tarball was created from the PARI git repository by
running "make snapshot".

Type
----

standard


Dependencies
------------

- $(MP_LIBRARY)
- :ref:`spkg_pari_galdata`
- :ref:`spkg_pari_seadata_small`
- :ref:`spkg_readline`

Version Information
-------------------

package-version.txt::

    2.17.1


Equivalent System Packages
--------------------------

.. tab:: Alpine

   .. CODE-BLOCK:: bash

       $ apk add pari-dev 


.. tab:: Arch Linux

   .. CODE-BLOCK:: bash

       $ sudo pacman -S pari pari-galdata pari-seadata pari-elldata \
             pari-galpol


.. tab:: conda-forge

   .. CODE-BLOCK:: bash

       $ conda install pari=\*=\*_pthread pari-elldata pari-galdata \
             pari-galpol pari-seadata


.. tab:: Debian/Ubuntu

   .. CODE-BLOCK:: bash

       $ sudo apt-get install pari-gp2c libpari-dev pari-doc pari-elldata \
             pari-galdata pari-galpol pari-seadata


.. tab:: Fedora/Redhat/CentOS

   .. CODE-BLOCK:: bash

       $ sudo yum install pari-devel pari-gp --setopt=tsflags= pari-galdata \
             pari-galpol pari-seadata pari-elldata


.. tab:: FreeBSD

   .. CODE-BLOCK:: bash

       $ sudo pkg install math/pari 


.. tab:: Gentoo Linux

   .. CODE-BLOCK:: bash

       $ sudo emerge sci-mathematics/pari sci-mathematics/pari-data 


.. tab:: Homebrew

   .. CODE-BLOCK:: bash

       $ brew install pari pari-elldata pari-galdata pari-galpol pari-seadata


.. tab:: MacPorts

   No package needed.

.. tab:: Nixpkgs

   .. CODE-BLOCK:: bash

       $ nix-env --install pari 


.. tab:: openSUSE

   .. CODE-BLOCK:: bash

       $ sudo zypper install pari-devel pari-gp 


.. tab:: Void Linux

   .. CODE-BLOCK:: bash

       $ sudo xbps-install pari pari-devel pari-elldata-small pari-galdata \
             pari-galpol-small pari-seadata



See https://repology.org/project/pari/versions, https://repology.org/project/pari-gp/versions, https://repology.org/project/pari-data/versions, https://repology.org/project/pari-elldata/versions, https://repology.org/project/pari-galdata/versions, https://repology.org/project/pari-galpol/versions, https://repology.org/project/pari-nftables/versions, https://repology.org/project/pari-seadata/versions, https://repology.org/project/pari-seadata-big/versions

If the system package is installed, ``./configure`` will check if it can be used.

