Misplaced Pages

PARI/GP: Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editNext edit →Content deleted Content addedVisualWikitext
Revision as of 02:23, 1 December 2006 edit209.208.77.147 (talk) Also added a link to the compressed archive of the stable branch of the Catalogue of GP/PARI Functions, since the download listed on the front page of the WWW version is to the unstable branch.← Previous edit Revision as of 07:54, 5 December 2006 edit undo209.208.77.221 (talk) Added a software Infobox, along with a screenshot of PARI/GP in use and the PARI/GP logo. Also added more information to the body of the article.Next edit →
Line 1: Line 1:
{{Infobox Software
| name = PARI/GP
| logo = ]
| screenshot = ]
| caption = PARI/GP in use on ]
| developer = Henri Cohen, Karim Belabas, et al., at the ]
| latest_release_version = 2.3.1
| latest_release_date = ], ]
| operating_system = ]
| genre = ]
| license = ]
| website = </nowiki>]
}}

'''PARI/GP''' is a ] with the main aim of facilitating ] computations. As of ] ], the stable version is 2.3.1 and the development version is 2.4.0. It is ] since Version 2.1.0 and is distributed under the terms of the ] as published by the ]. It runs on most common ]s. '''PARI/GP''' is a ] with the main aim of facilitating ] computations. As of ] ], the stable version is 2.3.1 and the development version is 2.4.0. It is ] since Version 2.1.0 and is distributed under the terms of the ] as published by the ]. It runs on most common ]s.


PARI/GP was originally developed in 1985 by a team led by ] at Laboratoire A2X and is now maintained by ] at the ] with the help of many volunteer contributors. PARI/GP's progenitor was a program named ISABELLE, an interpretor for higher arithmetic written in 1979 by ] and ] (of the ]). PARI/GP was originally developed in 1985 by a team led by ] at Laboratoire A2X and is now maintained by ] at the ] with the help of many volunteer contributors. PARI/GP's progenitor was a program named ISABELLE, an interpretor for higher arithmetic written in 1979 by ] and ] (of the ]).


The PARI system is a package that is capable of doing formal computations on recursive types at high speed. It is primarily aimed at number theorists, but can be used by anybody whose primary need is speed. It can perform ] calculations. It can be used to compute ]s, to perform ] computations and to perform ]. It also allows computations with ], ]s, ], ]s and implements many ]. The PARI system is a package that is capable of doing formal computations on recursive types at high speed. It is primarily aimed at number theorists, but can be used by anybody whose primary need is speed. It can perform ] calculations, including on ]s (e.g., the ] can be millions of digits long—and billions of digits on ] machines). It can be used to compute ]s, to perform ] computations and to perform ]. It also allows computations with ], ]s, ], ]s and implements many ].

PARI/GP also comes with its own built-in graphical ] capability, and can be linked to '']'' to use it for rendering plots.


Although quite an amount of symbolic manipulation is possible in PARI, the system does very badly compared to more sophisticated systems like ], ], ], ] or ] on such manipulations (e.g. ]s, ], and so on). On the other hand, the three main advantages of the system are its speed (which can be between 5 and 100 times better on many computations), the possibility of directly using ]s that are familiar to ]s, and its extensive algebraic number theory module, which has no equivalent in the above-mentioned systems. Although quite an amount of symbolic manipulation is possible in PARI, the system does very badly compared to more sophisticated systems like ], ], ], ] or ] on such manipulations (e.g. ]s, ], and so on). On the other hand, the three main advantages of the system are its speed (which can be between 5 and 100 times better on many computations), the possibility of directly using ]s that are familiar to ]s, and its extensive algebraic number theory module, which has no equivalent in the above-mentioned systems.
Line 15: Line 31:


Below are some samples of the calculator usage: Below are some samples of the calculator usage:
? \p 200 ? \p 212
realprecision = 202 significant digits (200 digits displayed) realprecision = 221 significant digits (212 digits displayed)
? 123456! +0.0 ? 148.7^0.3721
time = 1,650 ms. time = 0 ms.
%1 = 6.431568676168742823246396359599166309561461746185133095902233659267924
%1 = 2.604069904929137872951393056092656881827327040950301958461018557
9836644243757491731497135665446717779810269870421893965849047805843823699959
9952057379676834157935607166171279087355200170616660008572612714566985893
892470992868949783084618518182456887849078305105083627437215091767
730865282934317244121152865814030204645985573419251305342231136 E574964

? 123456! + 0.
time = 1,656 ms.
%2 = 2.604069904929137872951393056092656881827327040950301958461018557995205
7379676834157935607166171279087355200170616660008572612714566985893730865282
934317244121152865814030204645985573419251305342231135573491050756 E574964


? sin(x) ? sin(x)
time = 0 ms. time = 0 ms.
%2 = x - 1/6*x^3 + 1/120*x^5 - 1/5040*x^7 + 1/362880*x^9 - 1/39916800*x^11 %3 = x - 1/6*x^3 + 1/120*x^5 - 1/5040*x^7 + 1/362880*x^9 - 1/39916800*x^11
+ 1/6227020800*x^13 - 1/1307674368000*x^15 + O(x^17) + 1/6227020800*x^13 - 1/1307674368000*x^15 + O(x^17)


Line 39: Line 61:
? e = ellinit(); ellidentify(e) ? e = ellinit(); ellidentify(e)
time = 28 ms. time = 28 ms.
%3 = , , , ]], ] %4 = , , , ]], ]
<br>(a famous rank 3 elliptic curve of conductor 5077) <br>/* A famous rank 3 elliptic curve of conductor 5077. */


? K = bnfinit(x^2 + 23); K.cyc ? K = bnfinit(x^2 + 23); K.cyc
time = 1ms. time = 1ms.
%4 = %5 =
<br>(this number field has class number 3) <br>/* This number field has class number 3. */


==External links== ==External links==

Revision as of 07:54, 5 December 2006

PARI/GP
PARI/GP in use on Windows XP
Developer(s)Henri Cohen, Karim Belabas, et al., at the Université Bordeaux 1
Stable release2.3.1 / October 5, 2006
Repository
Operating systemCross-platform
TypeComputer algebra system
LicenseGNU General Public License
WebsitePARI/GP Development Headquarter

PARI/GP is a computer algebra system with the main aim of facilitating number theory computations. As of October 5 2006, the stable version is 2.3.1 and the development version is 2.4.0. It is free software since Version 2.1.0 and is distributed under the terms of the GNU General Public License as published by the Free Software Foundation. It runs on most common operating systems.

PARI/GP was originally developed in 1985 by a team led by Henri Cohen at Laboratoire A2X and is now maintained by Karim Belabas at the University of Bordeaux with the help of many volunteer contributors. PARI/GP's progenitor was a program named ISABELLE, an interpretor for higher arithmetic written in 1979 by Henri Cohen and François Dress (of the Université de Bordeaux I).

The PARI system is a package that is capable of doing formal computations on recursive types at high speed. It is primarily aimed at number theorists, but can be used by anybody whose primary need is speed. It can perform arbitrary precision calculations, including on irrational numbers (e.g., the significand can be millions of digits long—and billions of digits on 64-bit machines). It can be used to compute factorizations, to perform elliptic curve computations and to perform algebraic number theory. It also allows computations with matrices, polynomials, power series, algebraic numbers and implements many special functions.

PARI/GP also comes with its own built-in graphical plotting capability, and can be linked to gnuplot to use it for rendering plots.

Although quite an amount of symbolic manipulation is possible in PARI, the system does very badly compared to more sophisticated systems like AXIOM, Macsyma, Maple, Mathematica or Reduce on such manipulations (e.g. multivariate polynomials, formal integration, and so on). On the other hand, the three main advantages of the system are its speed (which can be between 5 and 100 times better on many computations), the possibility of directly using data types that are familiar to mathematicians, and its extensive algebraic number theory module, which has no equivalent in the above-mentioned systems.

It is possible to use PARI in two different ways:

  1. As a library, which can be called from an upper-level language application (for instance, written in C, C++, Pascal, Fortran, Perl, or Python).
  2. As a sophisticated programmable calculator, named gp, which contains most of the control instructions of a standard language like C. It can be programmed in a language called GP.

A compiler called gp2c can be used to translate GP scripts to the C language.

Below are some samples of the calculator usage:

? \p 212
   realprecision = 221 significant digits (212 digits displayed)
? 148.7^0.3721
time = 0 ms.
%1 = 6.431568676168742823246396359599166309561461746185133095902233659267924
9836644243757491731497135665446717779810269870421893965849047805843823699959
892470992868949783084618518182456887849078305105083627437215091767
? 123456! + 0.
time = 1,656 ms.
%2 = 2.604069904929137872951393056092656881827327040950301958461018557995205
7379676834157935607166171279087355200170616660008572612714566985893730865282
934317244121152865814030204645985573419251305342231135573491050756 E574964
? sin(x)
time = 0 ms.
%3 = x - 1/6*x^3 + 1/120*x^5 - 1/5040*x^7 + 1/362880*x^9 - 1/39916800*x^11 
+ 1/6227020800*x^13 - 1/1307674368000*x^15 + O(x^17)
? for(z=25,30, print (factor(2^z-1)))
time = 5 ms.
? e = ellinit(); ellidentify(e)
time = 28 ms.
%4 = , , , ]], ]

/* A famous rank 3 elliptic curve of conductor 5077. */
? K = bnfinit(x^2 + 23); K.cyc
time = 1ms.
%5 = 

/* This number field has class number 3. */

External links

Categories: