Karim Belabas on Mon, 22 May 2006 21:05:39 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
pari-2.3.0 (STABLE) released |
Dear PARI lovers, I would like to announce the release of pari-2.3.0 (STABLE) ! The sources and a pre-compiled binary for Windows can be obtained through the address http://pari.math.u-bordeaux.fr/download.html This is a major STABLE release, ending the 2.2.* development cycle, which started about 5 years ago. For those still using pari-2.1.*, it is time to upgrade ! %%%%%%%%%%%%%%%%%%%%%%%%%%%% VERSION 2.3 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% * The GP2C compiler is available at http://pari.math.u-bordeaux.fr/download.html#gp2c GP2C compiles GP scripts to the C language, easing the task of writing PARI programs. It can transparently compile them to object code and load the resulting functions in gp. Low-level gp2c-compiled scripts typically run 3 or 4 times faster. Minor hand editing (specifying types) typically gains a further factor 2. * Cremona's database of elliptic curves is available through the 'elldata' package [ to be downloaded separately ] ? E = ellinit([1,1,0,10,10]); ? id = ellidentify(E)[1] \\ [1] = discard change of variables %2 = ["69950b1", [1, 1, 0, 10, 10], [[-1, 1], [-1/4, 23/8]]] \\ gives name and generators ? E = ellinit("11a1"); E.disc %3 = -161051 ? ellsearch(11); \\ all curves of conductor 11 ? forell(E, 10,20, print(E)) \\ iterate over curves of conductor 10-20 ["11a1", [0, -1, 1, -10, -20], []] ... Kernel: * Use 'Configure --with-gmp' to replace the native multiprecision kernel by the GNU MP library (featuring asymptotically fast arithmetic). * Cleanup of all architecture specific kernels (all macroized); added support for x86_64, ppc64, hppa and hppa64, ia64, sparc64, m68k. * Faster algorithms for "transcendental" functions (divide/conquer square root, AGM for log and Pi, Newton for exp and most trigonometric functions, AGM for inverse trigonometric functions, rewrite for gamma and zeta => faster Bernoulli, Mestre's AGM for ellheight) * Faster and cleaner kernel for modular arithmetic. Try e.g. factormod/factorff or polcompositum. * Major internal cleanups: separate lgef for t_POLs is gone, zero t_SER and t_POL now handled in a uniform way, heuristic soft copies in t_INTMOD, t_POLMOD, t_PADIC are gone [ led to fatal errors in complex scripts, no performance penalty ] * The "syntax" of GP routines and operators are no longer hard-coded in the sources, but maintained in a separate database (pari.desc). This way, external tools like GP2C need not be modified when the GP language is changed. Algebraic number Theory: * Faster integral LLL (still not super fast, but getting better), and polynomial factorization routines (over finite fields [ new modular kernel ], Q or general number fields [ van Hoeij's algorithm ]) * Faster maximal order (round4 rewrite) and polredabs (esp. with flag 16: don't factor the discriminant; yields a canonical equation for a field), faster ideal arithmetic (prime decomposition, approximation, multiplication). * Faster and more reliable class-field theoretic functions quadclassunit, bnfinit, bnfisprincipal, bnrinit (and related functions, e.g. bnrconductor or bnrdisc), rnfkummer, thue (fast enumeration of small solutions, don't assume the full unit group is known). * A set of fast routines for Galois theory (galoisininit, nfgaloisconj, galoisisabelian, galoisfixedfield, galoissubfields, galoissubcyclo for abelian fields, galoisidentify to identify large Galois fields up to degree 127). 'galdata' package [ to be downloaded separately ]: polgalois is safer and orders of magnitudes faster in tough cases, output is now human readable ? polgalois(x^11-2) time = 1,759 ms. \\ used to be ~ 1 hour %1 = [110, -1, 4, "F_110(11)=11:10"] Miscellaneous: * For convenience, the manual was split in two parts: the GP user's manual and the libpari user's manual, the latter being substantially expanded. Many formerly private functions have been renamed, specified, cleaned up and documented. * Initial implementation of the APR-CL primality prover, faster compositeness tests (BPSW) * A new set of fast numerical summation and integration routine, variations on the Ooura-Mori "double exponential" method. See ??intnum Library interface to all these functions and standard iterators (e.g. forvec) * Error messages now mention the GP function where the error occurred. * Input/output and convenience functions: Str(a,1,c) --> "a1c", Strexpand("~") --> "/home/a2x/belabas", substvec (parallel substitutions), substpol(expr, x^2, y), writebin (write objets in binary format for fast retrieval), readvec (load a file's content into a vector) * Support for new graphic libraries (Qt, FLTK) [ ==> hi-res plots now also available under Mac OS X and Windows ] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% See http://pari.math.u-bordeaux.fr/Bugs/ for pending problems (and for how to report new ones). If you are running Mac OS X, please see this FAQ before reporting problems with 'readline' (line editing): http://www.math.u-bordeaux.fr/~belabas/pari/doc/faq.html#mac10readline Have fun ! K.B. -- Karim Belabas Tel: (+33) (0)5 40 00 26 17 Universite Bordeaux 1 Fax: (+33) (0)5 40 00 69 50 351, cours de la Liberation http://www.math.u-bordeaux.fr/~belabas/ F-33405 Talence (France) http://pari.math.u-bordeaux.fr/ [PARI/GP]