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]

```