Karim.Belabas on Mon, 30 Apr 2001 19:40:50 +0200 (MET DST) |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
pari-2.2.0.alpha |
Dear PARI lovers, I have announced a BUGFIX release 2.1.1 on pari-announce, which should eventually reach your mailbox if you are subscribed to it (probably after this message: moderated lists are slow by nature...). I wanted to let you know that a new development cycle, pari-2.2, has started. It has been available through the CVS repository for a while, but I've made a snapshot of my current sources as pari-2.2.0.alpha. You can find it at ftp://megrez.math.u-bordeaux.fr/pub/pari/unstable/pari-2.2.0.alpha.tgz [the corresponding CVS tag is release-2-2-0] This in an ALPHA version, so the usual caveats apply: it is unstable, probably contains severe bugs, and is not properly documented [one of the TODO items is about expanding and improving the libpari documentation]. It is definitely NOT adequate for site-wide installations. On the other hand, it fixes problems which could not be fixed in the stable release since their solution involved changing large amounts of sensitive code, or because they were deemed not important enough compared to the hassle of backporting the corresponding patches. If you are interested in testing out the ALPHA releases, it will be simpler to use the CVS repository than to apply numerous patches or download complete releases after each announcement, so have a look at the CVS.txt file if you have not already. This series will remain unstable for a while, as new features are introduced; I don't have a definite schedule for the next cycle of stable releases (pari-2.3) yet. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% The most important modifications deal with modular computations, which were a prominent TODO item. So far, the only affected public functions are: factorisation over Q[X], polcompositum(), and factornf() [where the old code had severe efficiency problems]. But a large number of internal functions have been written: rational number reconstruction, modular univariate and bivariate resultants, gcd over number fields, modular polynomial arithmetic esp. in small (< 2 ^ BITS_IN_LONG) characteristic [none of this is documented yet]. This will be generalized quickly as thresholds are being worked out [a number of functions based on the subresultant algorithm behave very satisfactorily for small degrees and height]. For instance, the new modular code to compute the characteristic polynomial of an algebraic number is five times faster than the current one when the degree is about 20, and twice slower for quadratic fields. The next natural target is to implement efficient finite fields [esp. corresponding to computations modulo a prime ideal in number fields: the current *modpr functions are very inefficient]. Have fun, Karim. P.S: The complete Changelog: [all entries from the BUGFIX release pari-2.1.1 are included] Done for version 2.2.0 (released 30/04/2001): Fixed BA 1- gpflog could print some lines twice 2- return() could forget objects on heap 3- polhensellift didn't accept factors which were not squarefree 4- Configure missed some shared libraries (when only .so.version was there) 5- possible symlink attacks against mpqs() 6- internal requests for precision of bnfinit(x) [ = Q ] could yield SEGV 7- compatible = 3 not taken into account when reading a file 8- cbezout(0,0) = 1 (should be 0) 9- when lines > 0, output driver didn't reset properly after user output 10- nfdisc(x^5+2*x^4+3*x^3-3*x^2+122*x-1) --> impossible inverse 11- bug in gcc-2.95 -O3 -fomit-frame-pointer [Linux]: SEGV in quicksqri 12- addrfrac: could return a t_RFRAC whose denominator wasn't a t_POL 13- bnfcertify (zimmertbound): off by two error when reading bound 14- very inefficient Hensel lift (used ideas from Shoup's NTL) 15- incorrect assumption on factor degrees in polcompositum (SEGV in rare cases) 16- Vec(VECSMALL) --> incorrect object 17- galoispermtopol didn't check permutation length (--> SEGV on bad input) XR 18- rnfinit(nf, T) -> bug in multiplication if nf = Q 19- Pol(cotan(x)) -> SEGV 20- factor(tough polynomial over Z[X]) --> possible SEGV when padic precision is increased [e.g factor(polzagier(60,0))] XR 21- bug in ideal bound computation in rnfnormgroup 22- bnrisprincipal(...,y+z) --> SEGV 23- GP could forget about a function whose redefinition was stopped by a syntax error (sometimes with a delay!) 24- bnfisnorm result would include pols in MAXVARN: e.g. Mod(1, #) BA 25- pbs in Fp_factor_irred (factoring over Fq a pol. defined over Fp) 26- missing macros for gphelp (tex-mode) in chapter 5 27- nfsubfields(nfinit(polcyclo(13))) --> impossible inverse Mod(0, 29) 28- argument checks for element_mulid, nf_get_r1 (access to nf.sign) 29- typo in quadhilbertimag (SEGV for very large discriminants) 30- wrong precision used in numerical derivation BA 31- isprime(n < 2, 2 or 3) gave wrong result IZ 32- \r C:\a.gp wouldn't work [ : and \ forbidden... ] BA 33- bad PARI prototypes in init.c [were confusing GP2C] XR 34- nfdisc: fixed cache system in nilord (esp. precision handling) BA 35- nfgaloisconj(polcyclo(40)): accuracy lost nfgaloisconj(polcyclo(11)+1): oo loop IS 36- typo in squfof tuning on 64bit machines 37- -lm doesn't exist on MacOS X BD 38- typo in src/kernel/l0asm.c: ulong not recognized by MSVC IZ 39- TeX quasi-parsing in gphelp 40- ^C in gp would kill an xdvi launched by gphelp via ?? [detach from tty] 41- factor(P in Z[X]): wrong bound used in LLL_cmbf --> "no factor" 42- one extra blank line printed with some error messages [errcontext] 43- no typechecks in subgrouplist and forsubgroup 44- round4 [dbasis]: make sure polmodi gets a polynomial, not an int (SEGV) 45- various typos in rnfkummer (SEGV or 'non-maximal rank in nfhermite') 46- Configure -l (no argument) didn't work anymore BA 47- incorrect quoting in src/make_vi_tags (make ctags) 48- 1/[;] --> error, whereas [;]^-1 --> [;] [ now, allow 1/[;] ] 49- ??real only gave the help on t_REALs, not on real() 50- eigen: "missing eigenspace" [roundoff pb in ker() compared to exact 0] 51- error messages on GP metacommands (\...) indicated wrong context 52- bnr functions might fail with "indefinite matrix in lllgram" [prec pb] 53- nfhilbert(nf,a,b, pr | 2) would give bogus result if nf in variable 0 (x) MD 54- real(1 / (a+quadgen(...)*b)) was a / (a^2 + b^2) [assumed quadgen(-1) !] 55- wrong HNF (reduction not finished) when nblines >> nbcol [hnf(,0) only] 56- rare problem in isprincipal (large non Galois base field)--> wrong result (generators not required) or infinite loop. 57- compatibility problems with readline-4.2 (build would fail) Changed 1- DOS distribution archives (GPM removed) XR 2- round 4 algorithm: compute characteristic polynomials via Newton sums XR 3- nffactormod now calls factmod / factmod9 when possible XR 4- don't compute discriminant in nffactor/nfroots + better bounds in nfsqff 5- input loops rewritten (filtre more flexible + unified common code) 6- better modular arithmetic for polynomials (+ uniformized names) 7- bnfinit: "looking hard" part overdone in random relations. Tuned down. XR 8- added flag in rnfconductor to check extension is abelian (under GRH) 9- made Vec("pari") return ["p","a","r","i"] instead of ["pari"] 10- renamed library function gsize() to sizedigit() [conflict with gtk] XR 11- bnrstark: check if N0 is too large (=> computation impossible) IK 12- let lisGEN() return NULL when EOF is met (was oo loop) 13- algorithm for zeta(), gamma() [initial GP code by HC] 14- improved rnfnormgroup() [reduce number of calls to isprincipal] IZ 15- flags for OS/2 build + use generic [pre|suf]fix for object files IZ 16- readline: hit_return() would not work after Esc-H extend online help recognition capabilities (Esc h/H, F1) 17- install the whole distribution (see ?12) 18- clean up in the bnrdisclist ray class group internal functions 19- naming scheme for development versions library: libpari-2.2.so.0.0.0 20- new Configure flags --share-prefix, --host 21- allow library functions to return NULL to the GP interpreter 22- let A^-1 and 1/A return a left inverse of A if it exists [A had to be square] 23- retuned factorization over Z[X] (+ "d-1 test" in naive recombination) 24- sort factorpadic() output Added 1- files README.WIN, config/[arch-osname|locatesymbol], doc/tex2mail.1 GN 2- Jebelean extended gcd + rational number reconstruction XR 3- new flag to rnfconductor (check extension is abelian) IZ 4- set of default colors (boldfg) 5- modular polynomial arithmetic ([uni|bi]variate resultant over Z, characteristic polynomial of algebraic numbers, nfgcd). [undocumented, experminental] 6- Pohlig-Hellman discrete log over Fp and nf.zk / pr Changed 1- start using the new modular functions [polcompositum] 2- mpsqrtnmod (modular n-th root of 1) uses Fp_shanks now Removed 1- obsolete undocumented functions oldidealinv, idealinv0 2- buggy function hnfhavas (hnflll is a better alternative) -- Karim Belabas email: Karim.Belabas@math.u-psud.fr Dep. de Mathematiques, Bat. 425 Universite Paris-Sud Tel: (00 33) 1 69 15 57 48 F-91405 Orsay (France) Fax: (00 33) 1 69 15 60 19 -- PARI/GP Home Page: http://www.parigp-home.de/