Try GP in your browser
Main
Download
Packages
Funding
SEARCH
Help / Community
FAQ
Documentation
Tutorials
Mailing Lists
Bugs
Timeline
Ateliers PARI/GP
Library
Publications
Contributed GP scripts
Links
Fun!
Development
Latest Changes
Version Control
Coding Guidelines
PariDroid
Logo
Tests & benchmarks
Buildlogs
Coverage Report
Doc Coverage
Refcards test
Benchmarks
WWW Stats

Nice scripts and programs for PARI/GP
Websites
Books / Lectures

[get there]
Numerical Algorithms for Number Theory (AMS Surveys and Monographs
254, 2021, 429 pages) by Karim Belabas and Henri Cohen.

[get there]
Experimental Number Theory (Oxford Graduate Text in Math 13, 2007,
232 pages), a book by Fernando RodriguezVillegas, containing a huge number
of sample GP programs.

[get there]. A series
of introductory lectures about number theory, with a bias towards explicit
computations, by William Stein. It contains an introduction to GP and many
fun scripts.

[get there].
The SIAM 100Digit Challenge book is a gourmet feast in ten courses on
(high precision) numerical analysis. Some GP scripts are available on the
book web site.
Elementary number theory
 [get it] write an integer in negative bases or with balanced digits.
 [get it] write an integer as sums of 2, 3 or 4 squares.
 [get it] compute the permanent of a sparse integral matrix.
Series, products, integrals
 [get it] (v1.2)
indefinite summation of rational functions
using Gosper's algorithm (by Ralf
Stephan).
 [get it] Zeroes of Hecke Lfunctions (by
Maciej Radziejewski).
 [get it] (OBSOLETE). Compute values of Hurwitz zeta and Dirichlet
Lseries, partial fraction decomposition of a rational
function F, as well as
(by Henri Cohen). The functionality is available in pari2.10.
 [get it] (OBSOLETE) values of motivic Lfunctions (by
Tim Dokchitser). The functionality is available in pari2.7.
Elliptic curves
 [get there] descent via isogeny on elliptic curves which have a rational
torsion point of order N (by V. Flynn and C. Grattoni).
 [get it] torsion over number fields, isogeny graphs, divisors, Vélu
formulae (by François Brunault).
 [get it]. 2descent over number fields. Works quite well for fields of
degree less than 3, and is well suited for handling several quadratic twists
of a common curve. It gives an alternative to John Cremona's mwrank even over
Q. Of independant interest, the submodule
qfsolve solves efficiently any ternary quadratic equation, even
not in diagonal (Legendre) form (by Denis Simon).

[get it].
Compute Heegner points, padic or complex (by Peter Green).
 [get it].
Derived periods and the MazurTate circle pairing (by
Henri Darmon and Massimo Bertolini).
 [get there] The APIP library (GPL) for computing standard and optimized
variants of most cryptographic pairing, by Jérome Milan
 [get original] / [get new version] (OBSOLETE).
Hecke operators on S_{2}(Γ_{0}(N)), by
Joe Wetherell, William Stein, Dominique Bernardi, Bernadette PerrinRiou and
Karim Belabas. The functionality is available in pari2.9.
 [get it] (OBSOLETE). Various scripts by
John Cremona (Heegner points, division polynomials, Weil pairing,
group structure over ℤ/pℤ). The functionality is available
in pari2.7.

[get it] (OBSOLETE). The 'ellsea' package, an implementation of the
SchoofElkiesAtkin algorithm over a prime field,
by Christophe Doche and Sylvain Duquesne. The functionality
is now available natively in pari2.5, using the
seadata official package.

[get it] (OBSOLETE). An implementation of Satoh's pointcounting algorithm
(by KimEe Yeoh).
The functionality is now available natively in pari2.7:
ellcard .

[get it] (OBSOLETE).
Compute heuristically the analytic rank of an elliptic curve (by Tom Womack).
The functionality is now available natively in pari2.5:
ellanalyticrank .
Miscellanea

[get there]
A Database of Local Fields, by John W. Jones and David P. Roberts.

[get there]
A generic
memoize wrapper (function caches results from previous
calls; simplifies writing efficient recursions, for instance) by Kevin Ryde.

[get there]
[archive.org]
Jeroen Demeyer's
fullfactor package, implementing a large set of
integer factorization helpers for integers of a special form (includes tables
from the Cunningham project).
[Updated version for PARI ≥ 2.15]

[get
there]
An implementation of fundamental domains for Shimura curves. You can compute
fundamental domains and view them with a Python application (using
Matplotlib), by James Rickards.

[get there]
A package for integral binary quadratic forms and quaternion algebras over
Q,
by James Rickards. For integral binary quadratic forms, this includes
 lists of (fundamental, coprime to a given integer n) discriminants;
 automorph, discriminant, reduction, and equivalence of forms;
 for indefinite forms: compute all reduced forms, the Conway river, left and
right neighbours of river/reduced forms, intersection numbers;
 narrow class group and a set of generators, reduced
forms for each element in the group;
 integral solutions (x,y) to Ax^{2} + Bxy + Cy^{2}
+ Dx + Ey + F = n;
 simultaneous integral solutions to Ax^{2} + By^{2}
+ Cz^{2}+Cz + Dxy + Exz+ Fyz = n_{1}
and U x+V y+W z = n_{2};
For quaternion algebras over Q, this includes
 maximal/Eichler orders
 optimal embeddings of a quadratic order into a quaternion
algebra, arranged with respect to the class group action and their
orientation; intersection number of pairs of optimal embeddings;
 elements of norm n in an Eichler order (when n is
coprime to the level), action of Hecke operators T_{n} on
optimal embeddings;
 fundamental domain of unit groups of Eichler orders in indefinite
algebras (Shimura curves).

[get there]
A page on diagonal quartic surfaces, containing GP scripts and PARI
programs (Picard groups and point counting); by Martin Bright.

[get there].
Large library of GP routines, developed by Fernando RodriguezVillegas and
Ariel Pacetti: quaternion algebras, binary quadratic forms, conics,
jacobian of cubics/quartics, Igusa invariants, Dedekind's eta function on CM
points, skewsymetric matrices, elliptic units, elliptic dilogarithm, padic
gamma function, Brandt matrices, lifting matrices, polynomials in several
variables, vector handling routines, various factoring algorithms over Z
(p1, Lenstra), Ktheory of number fields and zeta values
(LichtenbaumZagier conjectures), statistics...
 [get there] Miscellaneous scripts
written by Jörg Arndt (continued
fractions, Pell equation, recurrent sequences, gaussian normal basis,
hypergeometric functions, singular value decomposition)
 [get there]
Miscellaneous scripts written by Max Alekseyev:
number of Hamiltonial paths and cycles in graphs,
inversion of Euler Totient function, binomial coefficients modulo primes
number of subgroups of an abelian group, period of recurrent sequences modulo
primes, empirical recurrent formulas with polynomial coefficients, generation
of integer partitions, number of irreducible multivariate polynomials over
finite fields.

[get
there] Bianchi.gp, by Alexander Rahm: compute fundamental domains for the Bianchi groups.

[get it] (OBSOLETE) Ramanujan's τ function (naive O(sqrt(p)) algorithm,
by Henri Cohen). The functionality is available in pari2.9.
