The PARI/GP project started around 1985 in the Laboratoire A2X (Universite Bordeaux 1, France) and a first version was written by Christian Batut, Dominique Bernardi, Henri Cohen and Michel Olivier and maintained by Henri Cohen till 1995. Karim Belabas took over the maintainance between 1995 and 2001, the project has been jointly maintained by Bill Allombert and Karim Belabas since 2002. A great number of people have contributed code through the successive stages which eventually resulted in the present version of PARI/GP. Even more people, too numerous to list, contributed by testing, reporting bugs or suggesting improvements, Igor Schein foremost among them. We would like to thank them all here. Current lead developers: Bill ALLOMBERT (Bordeaux) Karim BELABAS (Bordeaux) Major contributors (large modules written or rewritten from scratch): Bill ALLOMBERT: GP2C, the GP parser, extension of the GP language (my, closures), GMP kernel, modular kernel, ffinit, galois* routines, subcyclo, black-box groups, elliptic curves, the elldata and galdata package, multithread model, PARI description system, FLTK support, Bug tracking system, administration of pari.math.u-bordeaux.fr, the http://pari.math.u-bordeaux.fr website Christian BATUT: 68k multiprecision kernel, Linear algebra, lattices Karim BELABAS: current project leader, native multiprecision kernel, modular kernel, polynomial arithmetic, polynomial factorization (finite fields, number fields), LLL, primality and compositeness tests, number fields, polgalois and the galdata package, elliptic curves, qfsolve, transcendental functions, install(), extension of the GP language (next/break/return, local, op=, default()), gphelp, Configure, readline, man pages, documentation layout, reference card and user's manuals, the FAQ, the http://pari.math.u-bordeaux.fr website. Dominique BERNARDI: the original gp interpreter, ECM, original elliptic curves implementation Henri COHEN: original designer and project leader, native multiprecision kernel, arithmetic functions, LLL, transcendental functions, number fields, original elliptic curves implementation Francisco DIAZ Y DIAZ: number fields (class groups, units) Yves EICHENLAUB: original polgalois implementation Xavier GOURDON: polroots, initial Karatsuba/Toom Cook/fft implementations Louis GRANBOULAN: breakup of monolithic PARI into modules, first GMP kernel, first Configure Loic GRENIE: bnfinit() rewrite, openMP / MPI implementations, polrootsreal/polsturm Bruno HAIBLE: micro assembly implementations, DOS/Windows support Guillaume HANROT: thue, zncoppersmith, initial polrootsreal implementation Pascal LETARD: basic number fields (round2, initial round4) Jean-Francois MESTRE: original elliptic curves implementation Gerhard NIKLASCH: binary powering, integer extended gcd and rational reconstruction, primality and compositeness test, integer factorization, documentation layout, AIX and Solaris support, first PARI web site. Michel OLIVIER: 68k multiprecision kernel, number fields, original polgalois and nfsubfields implementation Aurel PAGE: central simple algebra package (?8) Thomas PAPANIKOlAOU: MPQS integration, Pari-Lidia project Xavier ROBLOT: MPQS integration, Stark, original nffactor, padicfields Denis SIMON: Norm equations, S-units, Hilbert symbols, original qfsolve implementation Emmanuel TOLLIS: primedec, zetak Ilya ZAKHAREVITCH: prime sieves, gphelp, tex2mail, major cleanup of the graphics and GP parser code, gnuplot support, readline support, OS/2 support, DOS/EMX support Other contributors: the 2 or 3 letter code refer to the CHANGES file. Please, kindly remind us if you have been forgotten! = Karim Belabas (maintainer) AF = Aurimas Fiseras AM = Alex V. Myltsev AMe= Anton Mellit AP = Aurel Page AS = Andy Stubbs AW = Aleksander Wittlin BA = Bill Allombert BD = Bill Daly BG = Brian Gladman BH = Bruno Haible BK = Bruce Kaskel CB = Cliff Bergman CG = Charles Greathouse CW = Carl Witty DB = Dominique Bernardi DCa= David Carlisle DC = Dan Christensen DE = Denis Excoffier DF = David Ford DS = Denis Simon ED = Eric Driver EP = Esa Peuha GH = Guillaume Hanrot GN = Gerhard Niklasch GT = Glenn Thobe GTo= Gonzalo Tornaria HC = Henri Cohen HIL= Hamish Ivey-Law HR = Harvey Rose IK = Iwao Kimura IM = Ivan Middleton IS = Igor Schein ISo= Ignat Soroko IZ = Ilya Zakharevich JD = Jeroen Demeyer JJ = John Jones JM = Jerome Milan JS = Juhana Sadeharju KO = Kiyoshi Ohgishi KPN= Klaus-Peter Nischke LG = Louis Granboulan LGr= Loic Grenie LM = Lorenz Minder MA = Michael Abshoff MD = Mark Dickinson MH = Marije Huizing MS = Michael Stoll MSo= Michael Somos MW = Mark Watkins NS = Nils Skoruppa OR = Olivier Ramare OV = Oliver Voigt PB = Peter Bruin PC = Phil Carmody PM = Peter Montgomery PMo= Pascal Molin PW = Paul van Wamelen RB = Remi Butel RM = Richard J. Mathar RS = Ralf Stephan RR = Randall Rathbun SC = Sylvain Chevillard SG = Scott Garee TH = Teluhiko Hilano TP = Thomas Papanikolaou VB = Vasili Burdo VBr= Volker Braun VL = Vincent Lefevre XR = Xavier Roblot YU = Yoshiaki Uchikawa WH = William Hart