Karim BELABAS on Thu, 18 Oct 2001 17:59:03 +0200 (MEST) |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
pari-2.2.1.alpha released |
Dear PARI lovers, I have announced a BUGFIX release 2.1.2 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've made a snapshot of my current sources as pari-2.2.1.alpha. You can find it at ftp://megrez.math.u-bordeaux.fr/pub/pari/unstable/pari-2.2.1.alpha.tgz [the corresponding CVS tag is release-2-2-1] This in an ALPHA version, so the usual caveats apply: it is unstable, probably contains severe bugs, and is not properly documented. It is definitely NOT adequate for site-wide installations. =========================================================================== The primary goal of this snapshot is to remove patches from the pipeline so that new submissions can be made without risks of conflicts. The Changelog is too long already, I'll try to make development snapshots more regularly from now on, twice a year is definitely not enough [of course, you should get up-to-date CVS sources before starting any important work in any case]. There are no obvious major additions, but for the development of modular arithmetic introduced in 2.2.0, and improvements in nfsubfields (much faster, don't need an 'nf' anymore) and bnr* functions (esp. over fields with large class number). Cute extensions: * writebin(file, x) : to write x in "binary format" (entire internal structure is preserved, contrary to write(), and it's much faster to save and load). With no 'x' argument: saves all user variables from the session [their names are preserved also!] * subst(P, x^n, y) now works [it's not possible to substitute arbitrary algebraic expressions, only monic monomials]. * an EXPERIMENTAL inlined alpha assembler kernel (G. Hanrot, partly adapted from gmp), which is disabled unless you also have a rather recent gcc (at least 2.95.3). Note that the format of the MACHINES file has slightly changed. In particular it now includes the compiler version. I'm especially interested in MACHINES entries for the alpha processor, due to the new alpha kernel. Have fun, Karim. P.S: The complete Changelog: [all entries from the BUGFIX release pari-2.1.2 as well as all patches posted since last snapshot are included] Done for version 2.2.1 (released 18/10/2001): Fixed 1- typo in factornf (factor of degree 3 --> error message) 2- rnflllgram(), idealinv() didn't check their arguments 3- [readline] \r<TAB> would complete using files matching r* 4- wrong result in ZY_ZXY_resultant when degree dropped in ERS 5- factor(x^2 + I*1.) --> stack corruption 6- \r directory was silently accepted 7- check arguments in polcompositum() TH 8- [Cygwin:] fixed paths for readline on cygwin 1.* XR 9- possible overflow in ComputeCoeff [ bnrstark() ] 10- numtoperm(2,x) --> SEGV [check arguments now] 11- rnfkummer could fail with "missing units" 12- factornf(P, non-monic t) --> error 13- forsubgroup/subgrouplist didn't check their arguments nor accepted SNF matrices XR 14- typo in nilord4 --> SEGV, e.g. nfdisc(x^16-363*x^14+53550*x^12-4091823*x^10+170172414*x^8 \ -3663509067*x^6+33703350345*x^4-63300912912*x^2+32451860736) 15- some messages didn't distinguish between MBytes and millions of Bytes 16- typo in BuildTree [hensel lift]: SEGV 17- (rare) oo loop in polroots, e.g. x^5-2*x^4-32*x^3+72*x^2+218*x-491 18- oo loop in ellpointtoz on certain rare inputs 19- stack corruption in factorff BA 20- better interface for galoissubcyclo BA 21- galoisfixedfield(,,2) now works with non Galois subfields BA 22- nfgaloisconj now use `d-1'-test + better strategy BA 23- fix accuracy problems in vandermondeinverse 24- missed some simplifications when handling multivariate t_RFRAC 25- [Cygwin:] incorrect default 'path' (used : instead of ;) 26- element_sqr didn't check its arguments (SEGV if bad input) 27- possible stack corruption in polroots (+ improved GC there) 28- typo in nfsubfields (incorrect bound: could miss a subfield) 29- typo in zsimpjoin (concat error in bnrdisclist, intr. in 2.2.0) IZ 30- typo in Configure [rl_save_prompt and _eprintf not found in target libs] MD 31- oo loop in ellap [uninitialized array length in apell1] 32- stack corruption in addfrac [wrong result for large denominators] MD 33- resmod2n [called from powmodulo] could return unnormalized integers 34- not enough GC in nfinit for huge degrees [get_mul_table] 35- intformal(1/2/t^2) --> apparent oo loop 36- polredabs(degree 1 polynomial) --> x [could be very slow] 37- polredabs() could use a basis which was not LLL reduced BA 38- pariformats (e.g %Z) incorrect on 64bit machines 39- polhensellift(x,[x,1],2,2) --> "bug in multiplication" 40- glitches in readline completion (random() * ne<TAB) --> inserted args) IZ 41- CLK_TCK may reside in time.h 42- misleading definition for ?omega / ?bigomega 43- on \q, "Good bye" --> Goodbye 44- install() accepted gpnames which were not valid identifiers 45- bnfinit(x^4+65,,[.1]) --> SEGV (whenever c < c2) 46- when host badily configured (~ not expanded), gp would die on startup XR 47- factorpadic(, not a prime, ) --> SEGV 48- matrix(2,2,i,i, ...) allowed, with weird result BA 49- better arguments checking for galoisfixedfield 50- psi(I) --> incorrect type in rtodbl XR 51- increase precision automatically when needed in quadhilbertreal 52- idealstar(bnfinit(polcyclo(5)),11).clgp --> stack error 53- default(format,"g0.4"); 3./10 --> 0.300004577 [now: 0.3000] 54- subst() didn't check its arguments (e.g SEGV on t_STR) 55- qfbclassno(x < 0): wrong algo when x non fundamental 56- obscure bugs with types FRACN/RFRACN [when simplifies to INT/POL] IZ 57- readline history: while inputing continuation lines, the partial command was not put into history until full command was run 58- not enough GC in polroots (dft) for huge degrees 59- Cygwin: don't try to build gp-dyn.exe [crashes] 60- use vsnprintf to fix a long-standing bug in PARI output (using formats) used a fixed-length buffer that could overflow. If vsnprintf is not found by Configure, the bug remains. Changed 1- removed useless parameter prec in many bnr* and rnf* functions 2- major update of bnr* functions [use elements in factored form] 3- use /tmp instead of /var/tmp as default tmp directory [faster on Solaris] BA 4- Fp_PHlog (Pohlig-Hellman) can use a factorization of the subgroup order 5- major update of buchall() [bnfinit]: accurate precision increase, use multiplicative archimedean components (fewer logs), cleanup 6- [libpari:] rename permute/permuteInv to GP names numtoperm/permtonum 7- scalar + [;] --> error [made it [;]] BA 8- factorback, chinese, lcm and gcd now accept a single vector 9- Use I \cap Z instead of NI in hnfideal_inv 10- improved issquare(t_INTMOD) 11- improved subresultant routines (new function pseudodiv) 12- command-line options to Configure (installation directories) 13- rnfequation: use modular (bivariate) resultant 14- polynomial gcd (srgcd): uses modular algo (modulargcd,nfgcd) if possible 15- unified internal hnf* functions 16- improved nfsubfields [Hensel lift, allow nfsubfields(pol) instead of nf] 17- merged all "integer logarithms" + "safe ceil" functions (mylogint, get_e, floor_bound, myceil) 18- readline: TAB on empty parentheses following a function name has the same effect as M-h (used to insert args). IZ 19- faster computation of prime number table [better cache use] IS 20- obscure compiler bug in rootpol.c:max_modulus() [don't modify tau] 21- make bench ('elliptic'): explained [BUG] message 22- allow lift(t_PADIC) 23- faster polroots for Q of the form P(x^k) 24- allow subst(t, x^n, x) 25- ?user_fun: do not include function text if help available from addhelp [always include it for ??user_fun] 26- default values for used defined function arguments are evaluated when the function is called [used to be "when it's defined"] 27- allow subgrouplist(znstar(5)) [didn't accept groups in general form] 28- taught GP about GP2C-style type declaration [ignored] 29- 0. [realzero()] is now coded on 2 words (was 3, with third one ignored) IZ 30- readline history: lines are remembered as they were input (whitespace was deleted) Added BA 1- function pith() [= pi(x), naïve implementation] 2- new target for Makefile: gp.dbg BA 3- library functions FpX_roots_to_pol, FqX_roots_to_pol BA 4- library function FpX_FpXQ_compo (Brent & Kung) 5- library function FpM_inv, FpM_gauss, ZM_inv, QM_inv 6- library function primitive_part IZ 7- readline: allow switching readline editing on/off [for commandtools] IZ 8- readline: F1 has same effect as M-h, and F1F1 as M-H (short/long help) 9- function writebin XR 10- new error message "precer" (precision too low in...) 11- allow minimal handling of t_VECSMALL under GP IZ 12- add error messages (as in err(shier2)) to emacs tag file 13- add error messages (as in err(shier2)) to vi tag file IZ 14- add flag to shift() to enable consistency with 2-complement semantic IZ 15- default 'prompt_cont' for continuation lines IZ 16- default 'readline' to switch readline on/off in readline-able binaries IZ 17- capabilities to 'bittest' (return bitmap, 2-complement arithmetic) GH 18- inline assembler micro-kernel for alpha + recent gcc (at least 2.95.3) Removed 1- obsolete functions twototwo, threetotwo, threetotwo2 XR 2- error message truer2 (superseded by precer) -- 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/